Percepción BEV en la conducción autónoma en producción masiva

BEV perception in mass production autonomous driving.

La Receta de XNet de Xpeng Motors

Esta publicación de blog se basa en la charla invitada en el Taller de Conducción Autónoma de Extremo a Extremo en CVPR 2023 celebrado en Vancouver, titulado “La Práctica de la Conducción Autónoma en Masa en China”.

La percepción BEV ha presenciado un gran progreso en los últimos años. Percibe directamente el entorno alrededor de los vehículos de conducción autónoma. La percepción BEV puede ser vista como un sistema de percepción de extremo a extremo, y es un paso importante hacia un sistema de conducción autónoma de extremo a extremo. Aquí definimos los sistemas de conducción autónoma de extremo a extremo como tuberías completamente diferenciables que toman los datos crudos del sensor como entrada y producen un plan de conducción de alto nivel o acciones de control de bajo nivel como salida.

Taller de Conducción Autónoma CVPR 2023 | OpenDriveLab

Estamos orgullosos de anunciar cuatro nuevos desafíos este año, en colaboración con nuestros socios -Vision-Centric…

opendrivelab.com

La comunidad de conducción autónoma ha presenciado un rápido crecimiento en enfoques que abrazan un marco algorítmico de extremo a extremo. Discutiremos la necesidad de enfoques de extremo a extremo desde el primer principio. Luego revisaremos los esfuerzos para implementar el algoritmo de percepción BEV en vehículos de producción en masa, tomando como ejemplo el desarrollo de XNet, la arquitectura de percepción BEV de Xpeng. Finalmente, reflexionaremos sobre el futuro de la percepción BEV hacia la conducción autónoma de extremo a extremo completamente.

La Necesidad de Sistemas de Extremo a Extremo

Al resolver cualquier problema de ingeniería, a menudo es necesario utilizar un enfoque de dividir y conquistar para encontrar soluciones prácticas rápidamente. Esta estrategia implica descomponer el gran problema en componentes más pequeños y relativamente bien definidos que se pueden resolver de manera independiente. Si bien este enfoque ayuda a entregar un producto completo rápidamente, también aumenta el riesgo de quedarse en una solución de óptimo local. Para alcanzar la solución óptima global, todos los componentes deben optimizarse juntos de manera de extremo a extremo.

La curva de crecimiento del rendimiento para Divide-and-conquer vs End-to-end (gráfico hecho por el autor)

La regla del 80-20 refuerza el concepto de que el 80% del rendimiento deseado se puede lograr con solo el 20% del esfuerzo total. La ventaja de utilizar un enfoque de dividir y conquistar es que permite a los desarrolladores trabajar rápidamente con un esfuerzo mínimo. Sin embargo, la desventaja es que este método a menudo conduce a un techo de rendimiento en el 80%. Para superar el límite de rendimiento y salir del óptimo local, los desarrolladores deben optimizar ciertos componentes juntos, que es el primer paso en el desarrollo de una solución de extremo a extremo. Este proceso debe repetirse varias veces, rompiendo techos de rendimiento una y otra vez hasta que se logre una solución completamente de extremo a extremo. La curva resultante puede tomar la forma de una serie de curvas sigmoides hasta que se aproxime a la solución óptima global. Un ejemplo de un esfuerzo hacia una solución de extremo a extremo es el desarrollo del algoritmo de percepción BEV.

Percepción 2.0: Percepción de Extremo a Extremo

En las pilas de conducción autónoma tradicionales, se alimentan imágenes 2D al módulo de percepción para generar resultados 2D. Luego se utiliza la fusión de sensores para razonar entre los resultados 2D de múltiples cámaras y elevarlos a 3D. Los objetos 3D resultantes se envían posteriormente a componentes aguas abajo, como la predicción y la planificación.

La percepción BEV es esencialmente percepción de extremo a extremo (imagen hecha por el autor)

Sin embargo, el paso de fusión de sensores requiere muchas reglas hechas a mano para fusionar los resultados de percepción de varias transmisiones de cámaras. Cada cámara solo percibe una parte del objeto a observar, por lo que combinar la información obtenida requiere un ajuste cuidadoso de la lógica de fusión. Básicamente, estamos haciendo retropropagación a través de las mentes de los ingenieros. Además, el desarrollo y mantenimiento de estas reglas crea un conjunto de complicaciones, lo que lleva a numerosos problemas en entornos urbanos complejos.

Para superar este desafío, podemos aplicar el modelo de percepción de Vista de Pájaro (BEV, por sus siglas en inglés), que nos permite percibir el entorno directamente en el espacio BEV. La pila de percepción BEV combina dos componentes separados en una sola solución, eliminando así la lógica frágil creada por humanos. La percepción BEV es esencialmente una solución de percepción de extremo a extremo. Esto marca un paso crítico hacia un sistema de conducción autónoma de extremo a extremo.

XNet: Pila de Percepción BEV de Xpeng Motors

La arquitectura de percepción BEV de Xpeng se llama XNet. Fue presentada públicamente por primera vez en el Día de la Tecnología Xpeng 1024 en 2022. La visualización a continuación representa la arquitectura de percepción a bordo de XNet en acción. El vehículo rojo en el centro representa el vehículo de conducción autónoma mientras navega en una rotonda. El entorno estático circundante es detectado completamente por la percepción a bordo y no se usa ningún mapa HD. Podemos observar que XNet detecta con precisión una amplia gama de objetos dinámicos y estáticos alrededor del vehículo.

El equipo de inteligencia artificial de Xpeng comenzó a experimentar con la arquitectura de XNet hace más de dos años (a principios de 2021), y desde entonces ha pasado por varias iteraciones antes de llegar a su forma actual. Explotamos las redes neuronales convolucionales (CNN) para generar características de imagen, mientras que las características de múltiples cámaras se transponen al espacio BEV a través de una estructura transformadora. Específicamente, se utilizó un módulo de atención cruzada. Las características BEV de varios cuadros anteriores se fusionan luego con la postura del ego, tanto espacial como temporalmente, para decodificar los elementos dinámicos y estáticos de las características fusionadas.

XNet results and architecture (chart made by author)

La arquitectura de percepción BEV centrada en la visión mejora la rentabilidad para la implementación masiva de soluciones de conducción autónoma, reduciendo la necesidad de componentes de hardware más costosos. Las detecciones 3D precisas y la velocidad despliegan una nueva dimensión de redundancia y reducen la dependencia de los LIDAR y los radares. Además, la percepción del entorno sensible en 3D en tiempo real reduce la dependencia de los mapas HD. Ambas capacidades contribuyen significativamente a una solución de conducción autónoma más confiable y rentable.

Los Desafíos de XNet

Desplegar una red neuronal de este tipo en vehículos de producción presenta varios desafíos. En primer lugar, se necesitan millones de clips de video de múltiples cámaras para entrenar XNet. Estos clips involucran alrededor de mil millones de objetos que requieren anotación. Basándonos en la eficiencia actual de anotación, se necesitan aproximadamente 2,000 años humanos para la anotación. Desafortunadamente, esto significa que para el equipo de anotación interno de alrededor de 1000 personas en Xpeng, tal tarea llevaría alrededor de dos años para completarse, lo cual no es aceptable. Desde una perspectiva de entrenamiento de modelo, tomaría casi un año entrenar tal red utilizando una sola máquina. Además, desplegar tal red sin ninguna optimización en una plataforma NVIDIA Orin requeriría 122% de la potencia de cómputo de un solo chip.

Todos estos problemas presentan desafíos que debemos abordar para el entrenamiento y despliegue exitoso de un modelo tan complejo y grande.

Autolabel

Para mejorar la eficiencia de anotación, hemos desarrollado un sistema de autolabel altamente efectivo. Esta pila de fusión de sensores fuera de línea mejora la eficiencia hasta en 45,000 veces, lo que nos permite completar tareas de anotación que hubieran requerido 200 años humanos en solo 17 días.

Autolabel system significantly boost annotation efficiency

Arriba se encuentra el sistema de autolabel basado en LIDAR, y también hemos desarrollado un sistema que depende únicamente de los sensores de visión. Esto nos permite anotar clips obtenidos de las flotas de clientes que no tienen LIDAR. Esta es una parte crítica del ciclo cerrado de datos y mejora el desarrollo de un sistema de percepción autoevolutivo.

Entrenamiento a Gran Escala

Optimizamos el proceso de entrenamiento para XNet desde dos perspectivas. En primer lugar, aplicamos técnicas de entrenamiento de precisión mixta y optimización de operadores para simplificar el proceso de entrenamiento en un solo nodo, lo que redujo el tiempo de entrenamiento en un factor de 10. A continuación, nos asociamos con Alicloud y construimos un clúster de GPU con una potencia de cálculo de 600 PFLOPS, lo que nos permitió escalar el entrenamiento desde una sola máquina a varias máquinas. Esto redujo aún más el tiempo de entrenamiento, aunque el proceso no fue sencillo ya que tuvimos que ajustar cuidadosamente el procedimiento de entrenamiento para lograr un escalado de rendimiento casi lineal. En general, redujimos el tiempo de entrenamiento para XNet de 276 días a solo 11 horas. Tenga en cuenta que a medida que agregamos más datos al proceso de entrenamiento, el tiempo de entrenamiento aumenta naturalmente, lo que requiere optimización adicional. Por lo tanto, la optimización de escalado sigue siendo un esfuerzo continuo y crítico.

Optimización de pipeline de entrenamiento paralelo a gran escala para XNet (gráfico hecho por el autor)

Despliegue eficiente en Orin

Notamos que sin ninguna optimización, ejecutar XNet en un chip Nvidia Orin requeriría el 122% de la potencia de cálculo del chip. Al analizar el gráfico de perfil mostrado al principio, observamos que el módulo transformador consumía la mayor parte del tiempo de ejecución. Esto es comprensible ya que el módulo transformador no recibió mucha atención durante la fase de diseño inicial del chip Orin. Como resultado, necesitábamos rediseñar el módulo transformador y el mecanismo de atención para admitir la plataforma Orin, lo que nos permitió lograr una aceleración de 3x.

Optimización extrema de XNet basado en transformador en la plataforma Orin (gráfico hecho por el autor)

Motivados para optimizar aún más, progresamos en la optimización de la red a través de la poda, lo que resultó en una aceleración adicional de 2,6x. Por último, al emplear el equilibrio de carga de trabajo entre la GPU y la DLA, logramos una aceleración adicional de 1,7x.

Con estas diversas técnicas de optimización, reducimos la utilización de GPU de XNet del 122% a solo el 9%. Esto nos liberó para explorar nuevas posibilidades en arquitectura en la plataforma Orin.

Motor de datos autoevolutivo

Con la implementación de la arquitectura XNet, ahora podemos iniciar iteraciones impulsadas por datos para mejorar el rendimiento del modelo. Para lograr esto, primero identificamos casos extremos en el automóvil y luego implementamos disparadores configurables para la flota de clientes para recopilar imágenes relevantes. Posteriormente, recuperamos imágenes de los datos recopilados, en función de una breve descripción en lenguaje natural o una imagen en sí misma. Al hacerlo, aprovechamos los avances recientes en los modelos de lenguaje grandes para aumentar la eficiencia de la curación y anotación de conjuntos de datos.

El motor de datos ayuda a mejorar el rendimiento de XNet (gráfico hecho por el autor)

Con la arquitectura XNet y el motor de datos, hemos creado un sistema de percepción escalable y autoevolutivo.

El futuro

El lanzamiento más reciente de Xpeng Highway NGP 2.0 unifica soluciones piloto en carretera y en ciudad, lo que permite a los usuarios dejar un pin en una ciudad diferente y tener una experiencia fluida de principio a fin. Esta unificación es posible gracias a XNet, que proporciona una base sólida para una pila unificada en todos los escenarios. El objetivo final es permitir una experiencia de usuario punto a punto con conducción autónoma de extremo a extremo.

Para hacer que el sistema de conducción autónoma sea completamente diferenciable, otra pieza crítica que falta es una pila de planificación basada en aprendizaje automático. Las soluciones de planificación basadas en aprendizaje pueden dividirse en gran medida en enfoques de aprendizaje por imitación o aprendizaje por refuerzo. El progreso reciente en los modelos de lenguaje grandes (LLM) también augura un gran potencial para el avance de este importante tema. El siguiente repositorio de Github es una colección en vivo de trabajos relevantes en el floreciente campo de la conducción autónoma de extremo a extremo.

GitHub – OpenDriveLab/End-to-end-Autonomous-Driving: Todo lo que necesitas para la conducción autónoma de extremo a extremo

Todo lo que necesitas para la conducción autónoma de extremo a extremo. Contribuye al desarrollo de OpenDriveLab/End-to-end-Autonomous-Driving…

github.com

Conclusiones

  • Divide y vencerás alcanza el 80% del rendimiento con el 20% del esfuerzo. Los enfoques de extremo a extremo tienen como objetivo romper el techo del 80% de rendimiento, a un costo potencialmente mucho mayor.
  • XNet es un sistema de percepción de extremo a extremo y un paso crítico hacia una solución completa de extremo a extremo. Requiere un esfuerzo de ingeniería significativo (80%) según la regla del 80-20.
  • La gran cantidad de anotación necesaria para XNet requiere anotación automática, ya que la anotación humana no es factible. El sistema de autolabel puede aumentar la eficiencia en 45000 veces.
  • El entrenamiento a gran escala requiere la optimización del entrenamiento en una sola máquina y la escalabilidad desde una máquina a varias máquinas.
  • El despliegue de XNet en la plataforma Nvidia Orin requiere la refactorización del módulo transformador.

Todos los gráficos y videos de este blog son realizados por el autor.

Referencias

  • Para los desafíos únicos en la implementación de la conducción autónoma en masa en China, por favor consulte el siguiente enlace. Esto también fue parte de la misma charla invitada en CVPR 2023.

Desafíos de la Conducción Autónoma en Masa en China

Y la Respuesta de Xpeng a Ellos

Zepes.com

  • Día de Tecnología Xpeng 1024 2022: https://www.youtube.com/watch?v=0dEoctcK09Q