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
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
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
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
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
La 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.
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.
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
Wiki:Homography_(computer_vision)
OpenCV:findHomography
Gu Yueju: Introducción al método de costura de vista envolvente AVM
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)
(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!
(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.;
Agregue la invitación de Autobot Assistant Wechat para unirse al grupo
Observaciones: escuela/empresa + dirección + apodo