SparseBEV: un detector de objetos 3D de visión pura totalmente dispersa y de alto rendimiento

Autor: Wang Limin | Fuente: CVHub 

Introducción

Este artículo presenta nuestro nuevo trabajo en el campo de la detección de objetos 3D: SparseBEV. El mundo 3D en el que vivimos es escaso, por lo que la detección escasa de objetos 3D es una dirección de desarrollo importante. Sin embargo, todavía existe una brecha en el rendimiento entre los modelos de detección de objetivos 3D dispersos existentes (como DETR3D[1], PETR[2], etc.) y los modelos de detección 3D densos (como BEVFormer[3], BEVDet[8]). . En respuesta a este fenómeno, creemos que debería mejorarse la adaptabilidad del detector en el espacio BEV y en el espacio 2D. En base a esto, proponemos un modelo SparseBEV totalmente disperso y de alto rendimiento. En el conjunto de validación de nuScenes, SparseBEV aún puede mantener una velocidad de inferencia en tiempo real de 23,5 FPS mientras logra un rendimiento de 55,8 NDS. En el conjunto de pruebas de nuScenes, SparseBEV logró un súper rendimiento de 67,5 NDS utilizando solo V2-99, una columna vertebral liviana. Si utiliza ViT-large en métodos como HoP[5] y StreamPETR-large[6] como columna vertebral, será fácil llegar a 70+.

Nuestro trabajo ha sido aceptado por ICCV 2023, y el papel, código y pesos (incluido nuestro modelo con 67,5 NDS en la lista) se han hecho públicos:

Documento : https://arxiv.org/abs/2308.09244
Código : https://github.com/MCG-NJU/SparseBEV

introducción

Los métodos de detección de objetos 3D existentes se pueden clasificar en dos tipos: métodos basados ​​en características BEV densas y métodos basados ​​en consultas dispersas. El primero requiere la construcción de características espaciales BEV densas. Aunque el rendimiento es superior, la complejidad computacional es grande. El método basado en consultas dispersas evita este proceso, tiene una estructura más simple y es más rápido, pero el rendimiento aún está por detrás del BEV- método basado. Por lo tanto, naturalmente nos preguntamos: ¿Puede el método basado en consultas dispersas lograr un rendimiento cercano o incluso mejor que el método basado en BEV denso?

Según nuestro análisis experimental, creemos que la clave para lograr este objetivo es mejorar la adaptabilidad del detector en el espacio BEV y el espacio 2D . Esta adaptabilidad es específica de la consulta, es decir, para diferentes consultas, el detector debe poder codificar y decodificar características de diferentes maneras. Esta capacidad es exactamente de lo que carece el anterior detector 3D DETR3D, totalmente escaso. Por lo tanto, propusimos SparseBEV, que realizó principalmente tres mejoras. Primero, se diseña un módulo de autoatención adaptativo a escala (SASA) para lograr un campo receptivo adaptativo en el espacio BEV. En segundo lugar, diseñamos un módulo de muestreo espaciotemporal adaptativo para lograr la adaptabilidad del muestreo escaso y aprovechar al máximo las ventajas de las series temporales largas. Finalmente, utilizamos la mezcla dinámica para decodificar de forma adaptativa las características capturadas.

Ya el 9 de febrero de este año, justo antes de la presentación de ICCV, nuestro SparseBEV (backbone V2-99) había alcanzado una puntuación de 65,6 NDS en el conjunto de pruebas nuScenes, superando métodos como BEVFormerV2 [7]. Como se muestra en la siguiente figura, la solución se llama SparseBEV-Beta. Para obtener más detalles, consulte la lista eval.ai.

8616432a72cd108a34a2ef71a45cc166.png

Recientemente, hemos adoptado algunas de las configuraciones más recientes de StreamPETR, incluido el ajuste de los pesos X e Y de la pérdida de bbox a 2.0 y el uso de eliminación de ruido de consultas para estabilizar el entrenamiento, etc. Ahora, SparseBEV, que sólo utiliza el ligero V2-99 como columna vertebral, puede lograr un súper rendimiento de 67,5 NDS en el conjunto de prueba, ocupando el cuarto lugar en la clasificación de detección visual 3D pura (los tres primeros usan ViT-grande pesado como columna vertebral):

a8a0ac9a4a4428d9c8c54a52fe33341e.png

Bajo la configuración a pequeña escala del conjunto de verificación (ResNet50, 704x256), SparseBEV puede lograr un rendimiento de 55,8 NDS mientras mantiene una velocidad de inferencia en tiempo real de 23,5 FPS, aprovechando al máximo el diseño Sparse.

b35958eed5a196ca3ed960c302e545ed.png

método

Arquitectura modelo

408a355406c5d79ad60cb47b9fdc848e.png

La arquitectura del modelo de SparseBEV se muestra arriba. Sus módulos principales incluyen autoatención adaptativa a escala, muestreo espaciotemporal adaptativo y fusión adaptativa.

Inicialización de consultas

Los métodos existentes basados ​​en consultas utilizan un punto de referencia como consulta. En SparseBEV, Query contiene información más rica, incluidas coordenadas 3D, tamaño, ángulo de rotación, velocidad y características dimensionales correspondientes. Cada consulta se inicializa con la forma del pilar, que es 0 y aproximadamente 4. Esto se debe a que generalmente no aparecen varios objetos en el eje Z en escenarios de conducción autónoma.

Autoatención adaptativa a escala

La extracción de características a múltiples escalas en el espacio BEV es importante. Los métodos basados ​​en BEV denso a menudo agregan explícitamente características de múltiples escalas a través del codificador BEV (por ejemplo, BEVDet [8] usa ResNet + FPN para formar un codificador BEV para extraer características BEV de múltiples escalas, y BEVFormer usa Atención deformable de múltiples escalas para implementar Espacio BEV. multiescala), mientras que los métodos basados ​​en consultas dispersas no pueden hacer esto.

Creemos que la autoatención entre consultas dispersas puede desempeñar el papel del codificador BEV, pero la autoatención estándar de múltiples cabezales (MHSA) utilizada en DETR3D no tiene capacidades de múltiples escalas. Por lo tanto, propusimos un módulo de autoatención adaptable a escala (SASA) para permitir que el modelo determine por sí mismo el campo receptivo apropiado:

Entre ellos, representa la distancia euclidiana entre los dos puntos centrales de consulta y representa el coeficiente de control del campo receptivo. A medida que aumenta, el peso de atención de la consulta distante disminuye y el campo receptivo se reduce en consecuencia. En ese momento, SASA degeneró en un módulo estándar de autoatención con un campo receptivo global. Aquí se genera utilizando una capa de Lineal de forma adaptativa para cada característica de consulta, y cada encabezado se genera de manera diferente:

Que representa la dimensión de la característica de consulta y representa el número de cabezas.

En el experimento descubrimos dos fenómenos interesantes:

  1. Los valores generados por cada cabezal se distribuyen uniformemente dentro de un cierto rango y este fenómeno no tiene nada que ver con la inicialización. Este fenómeno muestra que SASA puede realizar agregación de características a diferentes escalas en diferentes cabezales, lo cual es similar al método de procesamiento de FPN, y demuestra aún más la necesidad de agregación de características multiescala en el espacio BEV desde una perspectiva basada en datos. Además, en comparación con FPN, el campo receptivo de SASA es más flexible y puede aprender libremente en función de los datos.

dc3c2ce907871b4d7fc3df13aa15898a.png
  1. Existen diferencias obvias en los valores generados por la consulta correspondientes a objetos de diferentes categorías. Descubrimos que el campo receptivo correspondiente a la consulta de objetos grandes (como autobuses) es significativamente más grande que el campo receptivo correspondiente a la consulta de objetos pequeños (como peatones). (Como se muestra en la siguiente imagen. Nota: cuanto mayor sea el valor, más pequeño será el campo receptivo)

cbb05dc7aafd84036971ece21022b07f.png

En comparación con el MHSA estándar, SASA casi no presenta gastos generales adicionales y es simple y efectivo. En el experimento de ablación, el uso de SASA para reemplazar MHSA puede aumentar directamente 4,0 mAP y 2,2 NDS:

72cfa8e40db62f334b7588f5f709552c.png

Muestreo adaptativo espacio-temporal

Para cada consulta, utilizamos una capa de Lineal para generar una serie de Offset 3D: A continuación, transformamos coordinadamente estos desplazamientos en relación con el pilar de consulta para obtener puntos de muestreo 3D. El proceso de generación del punto de muestreo es el siguiente:

ac6f07775dce83b4da597aff0872ecf5.png

De esta forma, los puntos de muestreo que generamos se pueden adaptar a la consulta dada, permitiéndonos manejar mejor objetos de diferentes tamaños y distancias. Al mismo tiempo, estos puntos de muestreo no se limitan al interior del cuadro de consulta dado, incluso pueden estar dispersos fuera del cuadro, lo que está determinado por el propio modelo.

Luego, para capturar aún más información a largo plazo, deformamos los puntos de muestreo en el sistema de coordenadas en diferentes momentos para lograr la alineación entre cuadros. En un escenario de conducción autónoma, hay dos tipos de movimiento: uno es el movimiento del propio automóvil (movimiento del ego) y el otro es el movimiento de otros objetos (movimiento de objetos). Para el movimiento del ego, utilizamos la pose del ego proporcionada por el conjunto de datos para lograr la alineación; para el movimiento del objeto, utilizamos el vector de velocidad instantánea definido en la consulta y cooperamos con un modelo de movimiento uniforme simple para alinear de forma adaptativa los objetos en movimiento. Ambas operaciones de alineación pueden sumar puntos:

58dc7ebe3b63004fe42a938b663ce5cb.png

Luego proyectamos los puntos de muestreo 3D a la imagen 2D y obtenemos las características 2D de las posiciones correspondientes mediante interpolación bilineal. Aquí hay un pequeño detalle de ingeniería: dado que se trata de una entrada envolvente de seis imágenes, DETR3D proyecta cada punto de muestreo en seis vistas respectivamente y promedia las características extraídas del punto de proyección correcto. Descubrimos que la mayoría de las veces solo un punto proyectado es correcto y ocasionalmente dos (es decir, los puntos de muestra están en el área superpuesta de vistas adyacentes). Entonces, simplemente tomamos solo uno de los puntos de proyección (incluso si a veces hay dos) y usamos su ID de vista correspondiente como un nuevo eje de coordenadas, de modo que podamos hacerlo en un solo paso a través de la versión 3D de la cuadrícula incorporada de Pytorch. operador de muestra. Esto puede aumentar significativamente la velocidad y no perder ningún punto (en mi impresión, solo bajé 0,1~0,2 NDS). Para obtener más detalles, consulte el código: https://github.com/MCG-NJU/SparseBEV/blob/main/models/sparsebev_sampling.py

Para un muestreo escaso, más tarde escribimos una optimización CUDA basada en DETR deformable. Sin embargo, la implementación pura de PyTorch es bastante rápida y la optimización CUDA aumenta aún más la velocidad en aproximadamente un 15%.

También proporcionamos una visualización de los puntos de muestreo (la primera fila es el fotograma actual y la segunda y tercera filas son los dos fotogramas anteriores en el historial). Se puede ver que los puntos de muestreo de SparseBEV capturan con precisión objetos de diferentes escalas en la escena (es decir, tienen adaptabilidad espacial) y también pueden estar bien alineados para objetos que se mueven a diferentes velocidades (es decir, son adaptables en el tiempo).

f36562a24ea76673d76429a8b29e58c5.png

Mezcla adaptativa

A continuación, realizamos la Mezcla [9] en el canal y las dimensiones puntuales de las entidades recopiladas. Suponiendo un total de cuadros y puntos de muestra por cuadro, primero los apilamos en puntos de muestra. Por lo tanto, SparseBEV es un esquema de tiempo apilado que puede fusionar fácilmente información de fotogramas futuros.

A continuación, realizamos una mezcla de canales en las características obtenidas de estos puntos de muestreo, donde el peso de la mezcla se genera dinámicamente en función de la característica de consulta:

Luego realice la misma operación de mezcla en la dimensión del punto:

donde y representan los pesos dinámicos en la mezcla de canales y la mezcla de puntos respectivamente. El primero se comparte entre todos los fotogramas y puntos de muestreo, y el segundo se comparte entre todos los canales de características.

SparseBEV de doble rama

En experimentos, descubrimos que dividir las imágenes de varios cuadros de entrada en dos ramas, Rápida y Lenta, puede mejorar aún más el rendimiento [10]. Específicamente, dividimos la entrada en una rama lenta de alta resolución y baja velocidad de fotogramas y una rama rápida de baja resolución y alta velocidad de fotogramas. Por lo tanto, la rama Lenta se enfoca en extraer detalles estáticos de alta resolución, mientras que la rama Rápida se enfoca en capturar información de movimiento. El diagrama de estructura de SparseBEV agregado a Dual-branch es el siguiente:

deebda0bb1ad97cc5c545917d6910f0b.png

El diseño de doble rama no sólo reduce los costos de capacitación, sino que también mejora significativamente el rendimiento, como se detalla en el material complementario. Su punto ascendente muestra que los detalles estáticos y la información de movimiento en la larga serie temporal de vehículos autónomos deben desacoplarse. Sin embargo, hace que todo el modelo sea demasiado complejo, por lo que no lo usamos de forma predeterminada (en este artículo solo lo usa la fila de resultados con NDS = 63,6 en el conjunto de prueba).

Resultados experimentales

b0dde46bcc425da8fd33d8d7356dc4fb.png

La tabla anterior compara los resultados de SparseBEV y los métodos existentes en el conjunto de verificación de nuScenes, donde el método de representación utiliza un entrenamiento previo en perspectiva. Cuando se utiliza ResNet-50 como columna vertebral y 900 consultas, y la resolución de la imagen de entrada es 704x256, SparseBEV supera el método óptimo existente SOLOFusion[4] en 0,5 mAP y 1,1 NDS. Después de usar nuImages para entrenar previamente y reducir la cantidad de consultas a 400, SparseBEV aún puede mantener una velocidad de inferencia de 23,5 FPS mientras alcanza un NDS de 55,8. Después de actualizar la red troncal a ResNet-101 y aumentar el tamaño de la imagen de entrada a 1408x512, SparseBEV superó a SOLOFusion en 1,8 mAP y 1,0 NDS.

división de prueba de nuScenes
db4b6739f0f0234300196481f9c2cf2c.png

La tabla anterior compara los resultados de SparseBEV y los métodos existentes en el conjunto de prueba, lo que indica que el método utiliza fotogramas futuros. Sin utilizar fotogramas futuros, SparseBEV logró 62,7 NDS y 54,3 mAP; su versión de doble rama mejoró aún más a 63,6 NDS y 55,6 mAP. Después de agregar fotogramas futuros, SparseBEV supera a BEVFormer V2 en hasta 2,8 mAP y 2,2 NDS, mientras que el V2-99 que utilizamos solo tiene unos 70 millones de parámetros, que es mucho menor que el InternImage-XL utilizado por BEVFormer V2 (más de 300 millones de parámetros). .

limitación

SparseBEV tiene muchas debilidades:

  1. SparseBEV depende en gran medida de la postura del ego para lograr la alineación entre cuadros. En la Tabla 5 del artículo, si no se utiliza la deformación basada en el ego, NDS puede caer alrededor de 10 puntos, lo que es casi lo mismo que no agregar tiempo.

  2. El modelado de tiempo utilizado en SparseBEV es tiempo apilado y su consumo de tiempo es proporcional al número de fotogramas de entrada. Cuando el número de fotogramas de entrada es demasiado grande (como 16 fotogramas), la velocidad de inferencia se ralentizará.

  3. Actualmente, el método de formación utilizado por SparseBEV sigue siendo una solución tradicional. Para una iteración de entrenamiento, DataLoader cargará todos los fotogramas. Esto impone grandes exigencias a las capacidades de la CPU de la máquina, por lo que utilizamos bibliotecas como TurboJPEG y Pillow-SIMD para acelerar el proceso de carga. Luego, todos los cuadros pasarán por la red troncal, que también tiene ciertos requisitos para la memoria de la GPU. Para ResNet50 y entrada de 8 fotogramas 704x256, el 2080Ti-11G aún puede encajar, pero si la resolución, los fotogramas futuros, etc. están completos, solo se puede ejecutar el A100-80G. Las configuraciones de entrenamiento utilizadas en nuestro código fuente abierto son las configuraciones mínimas que se pueden ejecutar. Actualmente existen dos soluciones:

  • Trunca el degradado de parte del fotograma de vídeo. Hay una opción en nuestra configuración de código abierto stop_prev_grad, que inferirá todos los fotogramas anteriores en no_gradmodo, y solo el fotograma actual tendrá retorno de gradiente.

  • Otra solución es utilizar el esquema de entrenamiento de secuencia utilizado en SOLOFusion, StreamPETR y otros métodos para ahorrar tiempo y memoria de video. Es posible que lo intentemos en el futuro.

en conclusión

En este artículo, proponemos SparseBEV, un detector de objetos 3D de una sola etapa completamente disperso. SparseBEV mejora la adaptabilidad de los modelos de consultas dispersas a través de tres módulos principales: autoatención adaptativa a escala, muestreo espaciotemporal adaptativo y fusión adaptativa, y logra un rendimiento cercano o incluso mejor que los métodos densos basados ​​en BEV. Además, también propusimos una estructura de doble rama para un procesamiento a largo plazo más eficiente. SparseBEV logra alta precisión y alta velocidad en nuScenes. Esperamos que este trabajo pueda arrojar algo de luz sobre el escaso paradigma de detección 3D.

[1] Wang Y, Guizilini VC, Zhang T, et al. Detr3d: detección de objetos 3D a partir de imágenes multivista mediante consultas 3D a 2D[C]//Conferencia sobre aprendizaje de robots. PMLR, 2022: 180-191.

[2] Liu Y, Wang T, Zhang X, et al. Petr: Transformación de incrustación de posición para la detección de objetos 3D con múltiples vistas[C]//Conferencia europea sobre visión por computadora. Cham: Springer Nature Suiza, 2022: 531-548.

[3] Li Z, Wang W, Li H, et al. Bevformer: Aprendizaje de la representación a vista de pájaro a partir de imágenes multicámara mediante transformadores espaciotemporales[C]//Conferencia europea sobre visión por computadora. Cham: Springer Nature Suiza, 2022: 1-18.

[4] Parque J, Xu C, Yang S, et al. El tiempo lo dirá: nuevas perspectivas y una línea de base para la detección temporal de objetos 3D con múltiples vistas[J]. Preimpresión de arXiv arXiv:2210.02443, 2022.

[5] Zong Z, Jiang D, Song G, et al. Entrenamiento temporal mejorado del detector de objetos 3D de vista múltiple mediante predicción histórica de objetos [J]. Preimpresión de arXiv arXiv:2304.00967, 2023.

[6] Wang S, Liu Y, Wang T, et al. Exploración del modelado temporal centrado en objetos para una detección eficiente de objetos 3D con múltiples vistas [J]. Preimpresión de arXiv arXiv:2303.11926, 2023.

[7] Yang C, Chen Y, Tian H, et al. BEVFormer v2: Adaptación de la columna vertebral de imágenes modernas al reconocimiento a vista de pájaro mediante supervisión en perspectiva [C] // Actas de la conferencia IEEE/CVF sobre visión por computadora y reconocimiento de patrones. 2023: 17830-17839.

[8] Huang J, Huang G, Zhu Z, et al. Bevdet: Detección de objetos 3D multicámara de alto rendimiento en vista de pájaro[J]. Preimpresión de arXiv arXiv:2112.11790, 2021.

[9] Gao Z, Wang L, Han B, et al. Adamixer: un detector de objetos basado en consultas de rápida convergencia[C]//Actas de la Conferencia IEEE/CVF sobre visión por computadora y reconocimiento de patrones. 2022: 5364-5373.

[10] Feichtenhofer C, Fan H, Malik J, et al. Redes lentas para reconocimiento de vídeo[C]//Actas de la conferencia internacional IEEE/CVF sobre visión por computadora. 2019: 6202-6211.

-FIN-

Aprenda eficientemente la trilogía de visión 3D

El primer paso es unirse al grupo de intercambio industrial y mantener el avance de la tecnología.

En la actualidad, el taller ha establecido múltiples comunidades en la dirección de la visión 3D, incluido SLAM, visión 3D industrial y conducción autónoma. Los grupos de subdivisión incluyen: [ Dirección industrial ] Nube de puntos 3D, luz estructurada, brazo robótico, detección de defectos, 3D medición, TOF, calibración de cámara, grupo integral; [ dirección SLAM ] fusión multisensor, ORB-SLAM, SLAM láser, navegación robótica, RTK|GPS|UWB y otros grupos de intercambio de sensores, grupo de discusión integral SLAM; [dirección de conducción autónoma ] estimación de profundidad, transformador, onda milimétrica | lidar | grupo de discusión sobre sensores de cámara visual, calibración de múltiples sensores, grupo integral de conducción automática, etc. [ Dirección de reconstrucción 3D ] NeRF, colmap, OpenMVS, etc. Además de estos, también existen grupos de comunicación para la búsqueda de empleo, la selección de hardware y la implementación visual de productos. Puedes agregar el asistente en WeChat: dddvisiona, nota: agregar grupo + dirección + escuela | empresa, el asistente te agregará al grupo.

1a586ad32c6aa962f43c72f24aa35d30.jpeg
Agregue el asistente WeChat: cv3d007 para unirse a usted en el grupo
El segundo paso es unirse a Knowledge Planet y obtener respuestas a sus preguntas de manera oportuna.

Cursos en vídeo para el campo de la visión 3D (reconstrucción 3D, nube de puntos 3D, luz estructurada, calibración ojo-mano, calibración de cámara, SLAM láser/visual, conducción autónoma, etc.), intercambio de código fuente, resumen de puntos de conocimiento, introductorio y avanzado. rutas de aprendizaje, intercambio de documentos más recientes, respuesta a preguntas , etc., y los ingenieros de algoritmos de varios fabricantes importantes brindan orientación técnica. Al mismo tiempo, Planet trabajará con empresas reconocidas para publicar posiciones de desarrollo de algoritmos relacionados con la visión 3D e información sobre el acoplamiento de proyectos, creando un área de reunión para los fanáticos acérrimos que integran tecnología, empleo y acoplamiento de proyectos. trabajar juntos para crear un mundo de IA mejor. Progreso, entrada al planeta del conocimiento: "Visión 3D de principiante a maestro"

Aprenda la tecnología central de visión 3D, escanee y visualice, y obtenga un reembolso incondicional dentro de 3 días 907690a4d046f8eaa1287417a65a9996.jpeg
Materiales tutoriales de alta calidad, respuestas a preguntas y ayuda para resolver problemas de manera eficiente.
El tercer paso es aprender sistemáticamente la visión 3D, comprender en profundidad y ejecutar el sistema de conocimiento del módulo.

Si desea estudiar sistemáticamente una determinada subdivisión de visión 3D [de la teoría, el código a la práctica], le recomendamos el sitio web de aprendizaje del curso de calidad de visión 3D: www.3dcver.com

Redacción de artículos de investigación científica:

[1] El primer tutorial de China sobre métodos de investigación científica y redacción de artículos académicos para la visión 3D.

Curso basico:

[1] Explicación detallada de módulos importantes de C++ para algoritmos de visión tridimensional: desde el nivel básico hasta el avanzado

[2] Tutorial del sistema integrado Linux para visión 3D [teoría + código + práctica]

[3] ¿Cómo aprender el modelo y la calibración de la cámara? (Código + combate real)

[4] ROS2 desde el inicio hasta el dominio: teoría y práctica

[5] Comprender a fondo el diseño del sistema de radar dToF [teoría + código + práctica]

Curso de Dirección de Visión 3D Industrial:

[1] (Segundo número) Construya un sistema de reconstrucción 3D ligero estructurado desde cero [teoría + código fuente + práctica]

[2] Tutorial del sistema de reconstrucción 3D con luz estructurada lineal (monocular y binocular) a nivel de niñera

[3] Agarramiento del brazo robótico desde el inicio hasta el curso práctico (teoría + código fuente)

[4] Procesamiento de nubes de puntos tridimensionales: algoritmo y resumen práctico

[5] ¡ Comprenda a fondo el tutorial de procesamiento de nubes de puntos basado en Open3D!

[6] Tutorial de detección visual de defectos en 3D: ¡teoría y práctica!

Cursos de dirección SLAM:

[1] Análisis en profundidad de los principios, códigos y combate real de la tecnología SLAM láser 3D para el campo de la robótica.

[1] Análisis exhaustivo del algoritmo SLAM de fusión visión láser-IMU-GPS: derivación teórica, explicación del código y combate práctico

[2] (Segundo número) Comprenda a fondo SLAM láser 3D basado en el marco LOAM: análisis del código fuente para optimización del algoritmo

[3] Comprenda a fondo SLAM visual-inercial: explicación detallada de los principios de VINS-Fusion y análisis del código fuente

[4] Analice a fondo los algoritmos clave y el combate real del láser SLAM interior y exterior (cartógrafo + LOAM + LIO-SAM)

[5] (Segundo número) Explicación teórica y análisis de código de ORB-SLAM3

Reconstrucción visual en 3D

[1] Reconstrucción 3D en perspectiva completamente completa: análisis de principios, explicación del código y mejoras de optimización )

Curso de conducción autónoma:

[1]  Análisis en profundidad de la sincronización espacial (calibración) de sensores montados en vehículos para el campo de la conducción autónoma

[2]  Primer curso práctico y principio de transformador de China para el campo de la detección de objetivos de conducción autónoma

[3] Método de estimación de profundidad monocular: revisión del algoritmo e implementación del código

[4] ¡ Ruta de aprendizaje completa para la detección de objetivos de nubes de puntos 3D en el campo de la conducción autónoma! (modal único + multimodal/datos + código)

[5] ¿Cómo implementar modelos de aprendizaje profundo en proyectos reales? (Clasificación + Detección + Segmentación)

por fin

1. Reclutamiento de autores para envíos de artículos visuales en 3D.

2. Contratación de profesores principales para cursos de visión 3D (conducción autónoma, SLAM y visión 3D industrial)

3. Invitación a transmisión en vivo de la industria de sensores de visión 3D y intercambio de artículos de conferencias principales

Supongo que te gusta

Origin blog.csdn.net/Yong_Qi2015/article/details/132928988
Recomendado
Clasificación