Saltar al contenido

Fusión cámara-radar basada en IA: estimación de profundidad densa para vehículos autónomos

Rafael Escarabajal Sánchez
18 de diciembre de 2024
capgemini-engineering

Los vehículos autónomos (AVs) dependen de un sofisticado conjunto de sensores para percibir su entorno y tomar decisiones críticas de conducción. Entre estos sensores, el radar y las cámaras desempeñan roles fundamentales al proporcionar datos únicos esenciales para la navegación y seguridad del vehículo. Los avances en Inteligencia Artificial permiten ahora fusionar en tiempo real los datos proporcionados por radares y cámaras de alta resolución para ofrecer una comprensión integral del entorno del vehículo, presentando oportunidades significativas en la industria de Vehículos Autónomos (AVs).

Los esfuerzos de inversión e investigación están cada vez más centrados en optimizar estas tecnologías de fusión para mejorar la seguridad y rendimiento del vehículo en diversas condiciones ambientales. Es por esta razón que el proyecto INPERCEPT (Percepción Inteligente para Vehículos Conectados y Autónomos), en el que Capgemini ha participado activamente, investiga el uso de técnicas basadas en IA para la fusión de imágenes de cámara y radar (INPERCEPT, 2024).

En la fusión cámara-radar, las cámaras ofrecen información visual de alta resolución en 2D, pero con ellas no es sencillo realizar una estimación de la distancia a los objetos detectados. Sin embargo, el radar es capaz de proporcionar medidas precisas de distancia y velocidad de los objetos del entorno. Por tanto, combinando estas fuentes de datos, los AVs pueden detectar y clasificar objetos con precisión, operar eficazmente en diversas condiciones y tomar decisiones de conducción más seguras . Mientras que el LiDAR proporciona una estimación espacial más densa y detallada, el radar se está convirtiendo en el sensor preferido para la fusión con cámaras en vehículos autónomos debido a su mejor rendimiento en condiciones climáticas adversas, su menor coste, menor consumo de energía, mayor alcance de medición y capacidad para medir directamente la velocidad de los objetos.

Una aplicación crítica de la fusión radar-cámara es la estimación de profundidad densa, que implica generar mapas detallados que asignan valores precisos de profundidad a cada píxel dentro de las imágenes capturadas. Estos mapas de profundidad proporcionan información espacial esencial sobre las distancias y posiciones de los objetos en el entorno del vehículo. Este mapeo preciso es crucial para funcionalidades avanzadas como la detección de obstáculos y la planificación de rutas, permitiendo que los AVs naveguen de manera segura y efectiva.

Los avances recientes en algoritmos de estimación de profundidad monocular han revolucionado este campo al generar mapas de profundidad relativa utilizando una sola cámara. Estos mapas transmiten las relaciones espaciales entre objetos basadas en sus distancias percibidas entre sí, en lugar de unidades físicas absolutas como metros. Esta capacidad permite a los AVs discernir qué objetos están más cerca o más lejos, proporcionando un contexto crítico para los procesos de toma de decisiones.

Al integrar el mapa de profundidad relativa derivado únicamente de la imagen con datos de radar, se hace posible convertir estas distancias relativas en medidas absolutas precisas. El radar desempeña un papel fundamental en este proceso al escalar y transformar el mapa de profundidad relativa en un mapa de profundidad absoluto preciso. En el proyecto INPERCEPT, esta integración se realiza mediante algoritmos basados en redes neuronales, de la manera expuesta en el presente artículo.

Metodología

Esquema general

El algoritmo de fusión propuesto toma como entrada una imagen proveniente de una cámara de vídeo y una nube de puntos proveniente del radar. En primer lugar, la imagen se procesa con un modelo para la estimación de profundidad monocular llamado Depth Anything (Lihe Yang, 2024), que genera un mapa de profundidad relativo. Posteriormente, dicho mapa relativo es combinado con la nube de puntos del radar utilizando una red neuronal basada en U-Net  (Olaf Ronneberger, 2015) para generar como salida el mapa de profundidad absoluto en metros (ver Ilustración 2). Para supervisar el entrenamiento de dicha red neuronal, se utilizan datos de un LiDAR, ya que generan nubes de puntos mucho más densas que funcionan a modo de referencia para el aprendizaje. En la Ilustración 1 se muestra el esquema completo.

Ilustración 1. Esquema general del algoritmo de fusión cámara-radar.

Dataset

El algoritmo propuesto es entrenado utilizando el dataset de Nuscenes (Holger Caesar, 2019), que recoge 1.000 escenas de conducción, en las que se ejecutan diversas maniobras en diferentes condiciones de tráfico y meteorología. Entre sus datos, se encuentran imágenes y nubes de puntos (de LiDAR y radar), que son los necesarios para el entrenamiento del algoritmo.

Los datos deben ser preprocesados para adecuarse al formato esperado por la red neuronal. A grandes rasgos, los datos se adaptan de la siguiente manera:

  1. Imagen: debe ser normalizada y ajustada al tamaño esperado por Depth Anything.
  2. Mapa relativo de profundidad: debe expresar las distancias entre 0 y 1, siendo 0 los pixeles más cercanos, y 1 los más lejanos. También debe ajustarse al tamaño de la U-Net.
  3. Nubes de puntos: deben proyectarse al plano de la imagen utilizando los parámetros intrínsecos de la cámara (también proporcionados en el dataset de Nuscenes). Luego deben normalizarse sus coordenadas para facilitar la labor de la red neuronal, y finalmente se debe escoger un número fijo de puntos (por ejemplo, 100). Si la nube inicial tiene menos puntos, se deben repetir de manera aleatoria hasta llegar a 100. Si la nube inicial excede este número, se considerarán los 100 puntos más representativos.

Red neuronal

La estrategia general seguida para fusionar el mapa relativo de profundidades con el radar se muestra en la  Ilustración 2, y consiste en crear una U-Net que toma el mapa relativo de profundidades del que va extrayendo features con capas convolucionales, y disminuyendo su dimensión con capas de pooling, lo que constituye el encoder. Al final de dicho encoder, donde la imagen tiene menor dimensión, se concatena con las features del radar y luego vuelve paulatinamente a su tamaño original utilizando convoluciones transpuestas (parte de decoder), dando como resultado una imagen del mismo tamaño que la inicial que se corresponde con el mapa absoluto de profundidades.

En cuanto al radar, partiendo de una nube de puntos de tamaño 3×100 (donde 100 es el número fijo de puntos elegido en el paso anterior), en primer lugar se pasa por un extractor de features basado en PointNet (Charles R. Qi, 2017). PointNet extrae características de manera que el resultado es invariante del orden de los puntos de entrada. Está basado en perceptrones multicapa (MLP) compartidos, que se implementan usando convoluciones unidimensionales. Hay que asegurar que la dimensión final de las features de la nube de puntos coincide con la del encoder de la U-net, para que se puedan concatenar.

La supervisión se realiza con la ayuda de las medidas de LiDAR, que también son proyectadas en la misma imagen. Ello permite calcular el error como la media de todos los errores entre la profundidad estimada de cada pixel con la red neuronal y el valor proporcionado por el LiDAR en dicho pixel. Este error constituye el término fundamental de la función de coste para el entrenamiento, que incluye otros términos relacionados con mantener la consistencia e información estructural del mapa de profundidad (esto implica que se mantenga el mismo orden relativo de profundidades respecto al mapa relativo de entrada).

Ilustración 2. Red neuronal (se han omitido 3 capas) para fusionar mapa de profundidad relativo y radar (U-Net).

Implementación en el proyecto INPERCEPT

El proyecto INPERCEPT (INPERCEPT, 2024) tiene como objetivo principal mejorar las tecnologías clave que permitan a los vehículos autónomos operar de manera más eficiente y segura en términos energéticos, detectando obstáculos y condiciones adversas. Entre sus metas se incluye el desarrollo de sistemas de percepción externa para una mejor detección del entorno en situaciones exigentes. Es aquí donde entra en juego la fusión de datos (Ilustración 3), que recibe datos de radar y cámara frontal para generar un mapa de profundidad. Este mapa es posteriormente utilizado para generar los llamados mapas de coste, que son representaciones espaciales que indican la presencia de obstáculos o peligros, y son fundamentales para planificar rutas y ejecutar acciones como el frenado.

Ilustración 3. Rol de la fusión de datos en el proyecto INPERCEPT.

En lo que respecta al hardware, el algoritmo ha sido implementado en una Nvidia Jetson AGX Orin 64GB (Nvidia, 2024), una plataforma avanzada de computación diseñada para aplicaciones de inteligencia artificial (IA) y computación de alto rendimiento, particularmente en el ámbito de la robótica, la visión por computadora y el edge computing. El dispositivo se ha configurado para optimizar la inferencia de los algoritmos basados en redes neuronales, utilizando C++ y TensorRT, explotando el uso de GPUs.

El radar empleado es el modelo AWR1843 de Texas Instruments (TI), que es un radar de Onda Continua Modulada en Frecuencia (FMCW) de Múltiple Entrada y Múltiple Salida (MIMO), diseñado para operar en la banda de 77 a 81 GHz. Este radar incluye tres antenas de transmisión y cuatro antenas de recepción, y es uno de los modelos más avanzados, fiables y modernos creados por TI.

La cámara, desarrollada por Ficosa, ofrece la imagen en formato H.264 con un frame rate de 25 fps, un campo de visión de 196ºx150º y una resolución horizontal-vertical de 1344 x 968 pixeles.

Por último, hay que señalar que los datos generados en INPERCEPT no tienen exactamente la misma naturaleza que los del dataset de Nuscenes empleados para entrenar el algoritmo. Se genera menos cantidad de puntos de radar y el rango de medida es distinto, porque los objetos de la base de datos de Nuscenes están más alejados. Ello nos ha obligado a entrenar el algoritmo con el paradigma de Data Augmentation para aumentar la diversidad del dataset de Nuscenes.

Resultados

Para evaluar la calidad de las estimaciones de profundidad, se ha calculado, utilizando el set de datos de test de Nuscenes, el error medio entre la profundidad estimada y la proporcionada por el LiDAR hasta cierta distancia máxima, y despreciando los puntos más alejados de dicha distancia. Se ha tomado como distancia máxima desde los 10 metros hasta los 50 metros para comprobar cómo el error evoluciona a medida que debe estimar mayores distancias, y se proporcionan valores absolutos y relativos. Los resultados se recogen en la Tabla 1.

 DISTANCIAS MÁXIMAS CONSIDERADAS (m)
 1020304050
Error absoluto (m)0.370.771.211.501.75
Error relativo (%)3.703.854.033.753.50
Tabla 1. Errores absolutos y relativos en la estimación de profundidad considerando distintas distancias.

En la Tabla 1 se puede observar cómo el error absoluto aumenta a medida que las distancias consideradas aumentan, lo que resulta razonable ya que mantener la precisión de las estimaciones se complica a medida que se consideran objetos más lejanos. Sin embargo, el error relativo es bastante uniforme, oscilando alrededor del 3% y el 4%, lo cual se considera un éxito en cuanto a calidad de estimación. Por su parte, en la Ilustración 4 se muestra gráficamente el resultado de la aplicación del algoritmo de fusión cámara-radar con imágenes tomadas en el exterior del Automotive Technological Center (ATC) de Capgemini.

Ilustración 4. Resultado visual con datos de INPERCEPT. (a) Original image, (b) Radar pointcloud, (c) relative depth map extracted using Depth Anything, (d) absolute depth map using our algorithm.

En modo inferencia con la Nvidia Jetson AGX Orin, la red neuronal Depth Anything requiere unos 40 ms en ejecutar, mientras que la red neuronal U-Net tarda unos 3 ms, siendo el tiempo de cómputo total de 43 ms, lo que lo habilita para tiempo real. Es importante tener en cuenta que nuestra red funciona a partir de un mapa de profundidad relativo que se puede obtener por cualquier método, no necesariamente con Depth Anything. En este trabajo se eligió Depth Anything por su novedad y gran precisión, pero pueden existir otros modelos (o se lanzarán en el futuro) que aligeren la obtención de la profundidad relativa, que es el principal cuello de botella computacional en la estimación de profundidad densa.

Conclusión

Este artículo propone un método para la estimación de profundidad densa empleando un modelo basado en una red neuronal de tipo U-Net que, en lugar de tomar como entrada la imagen captada por la cámara, utiliza un mapa relativo de profundidades que se asume preciso, y que se combina con la nube de puntos proveniente del radar. Este planteamiento experimental es posible gracias a la aparición de nuevos algoritmos, como Depth Anything, que son capaces de proporcionar mapas de profundidad relativos muy precisos, porque han sido entrenados con una cantidad ingente de imágenes de manera no supervisada. En este trabajo, esta información se asume más valiosa que la imagen original en la tarea de obtener profundidades absolutas.

El algoritmo de fusión ha sido entrenado con el dataset de Nuscenes y luego se ha probado en el contexto del proyecto INPERCEPT como parte de fundamental de los servicios dedicados a percibir los obstáculos para planificación de rutas o frenado, y en el que se utilizan radar, cámara y un dispositivo de computación de Nvidia de última generación. Los resultados objetivos proporcionados en el entrenamiento de la red con Nuscenes avalan la eficacia del método, mientras que su posterior aplicación con datos reales de INPERCEPT demuestran una integración válida pese a la diferente naturaleza de los datos, a falta de comprobaciones de mayor rigor, por ejemplo comparando los resultados con los de un LiDAR.

El algoritmo presentado no solo demuestra su viabilidad técnica y efectividad en entornos controlados y reales, sino que también ofrece un camino prometedor hacia soluciones de percepción más seguras, económicas y adaptables para la industria de los vehículos autónomos. Este artículo demuestra la integración exitosa de radar y cámaras, potenciada por algoritmos avanzados, y contribuye al avance hacia la próxima generación de vehículos autónomos capaces de navegar de manera segura y eficiente en un mundo cada vez más complejo y dinámico.

Referencias

Charles R. Qi, H. S. (2017). PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. IEEE / CVF Computer Vision and Pattern Recognition Conference (CVPR), (págs. 652-660).

Holger Caesar, V. B. (2019). nuScenes: A multimodal dataset for autonomous driving. arXiv preprint arXiv:1903.11027. Obtenido de https://www.nuscenes.org/nuscenes

INPERCEPT. (2024). INPERCEPT: Intelligent Perception. Obtenido de https://www.inpercept.es/

Lihe Yang, B. K. (2024). Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data. IEEE / CVF Computer Vision and Pattern Recognition Conference (CVPR), (págs. 10371-10381).

Nvidia. (2024). Jetson Orin. Obtenido de https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-orin/

Olaf Ronneberger, P. F. (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. Medical Image Computing and Computer Assisted Interventions.

Autor

Rafael Escarabajal Sánchez

R&D Software Engineer
R&D Software EngineerAuto

Jorge Pinazo Donoso

Electronics R&D Technical Lead

    Este proyecto ha sido subvencionado por el CDTI, cofinanciado con fondos Europeos del Mecanismo de Recuperación y Resiliencia y apoyado por el Ministerio de Ciencia e Innovación. Este proyecto tiene número de expediente PTAS-20211011