Autor丨StrongerTang
Fuente丨https://zhuanlan.zhihu.com/p/496228909
Editor丨 Taller de Visión por Computador
Compartiendo un nuevo trabajo sobre la dirección de la detección de líneas de carril que leí hace algún tiempo, también ganó el 2022CVPR de los resultados publicados recientemente.Fue completado por la Universidad Jiaotong de Shanghai, la Universidad Normal de China Oriental, la Universidad de la Ciudad de Hong Kong y SenseTime, y el código ha sido de código abierto.
Enlace en papel: https://arxiv.org/abs/2203.02431
Enlace de código: https://github.com/voldemortX/pytorch-auto-drive
Introducción
Estrategias de detección de carril
Como se muestra en la figura anterior, los métodos de detección de líneas de carril basados en aprendizaje profundo se pueden dividir en tres categorías: esquemas basados en segmentación (ejemplo verde en la figura), esquemas basados en detección de puntos (ejemplo azul en la figura) y curva polinomial -esquemas basados en (ejemplo en amarillo en la figura).
Entre ellos, los esquemas basados en segmentación y detección puntual generalmente tienen mejor desempeño, pero las representaciones basadas en esquemas de segmentación y detección puntual son locales e indirectas, y los factores abstractos (a, b, c, d) en curvas polinómicas son difíciles. para lograr la optimización. Para ello, el artículo propone una solución basada en la curva cúbica de B´ezier, a saber, la curva roja y el cuadro discontinuo de la figura anterior, ya que la curva de Bezier tiene las características de fácil cálculo, estabilidad y libertad de conversión. Además, el autor también diseña un módulo de fusión por volteo de funciones basado en la convolución deformable para explorar las propiedades de simetría de las líneas de los carriles.
El esquema del documento final logra un nuevo rendimiento de vanguardia en el conjunto de datos de referencia de detección de línea de carril LLAMAS mientras mantiene alta velocidad (>150FPS) y tamaño pequeño (<10M), mientras es competitivo en rendimiento de precisión de conjuntos de datos TuSimple y CULane.
Suplementos relacionados con las curvas de B´ezier
Una curva de Bezier (tome el tercer orden como ejemplo) es una curva suave dibujada de acuerdo con las coordenadas de puntos arbitrarios en cuatro posiciones. Crea y edita gráficos controlando cuatro puntos en la curva (punto inicial, punto final y dos puntos intermedios separados). La parte importante es la línea de control en el centro de la curva. Esta línea es virtual, se cruza con la curva de Bezier en el medio y controla los puntos finales en ambos extremos. Al mover los puntos finales en ambos extremos, la curva Bézier cambia la curvatura (grado de flexión) de la curva; al mover el punto medio (es decir, al mover la línea de control virtual), la curva Bézier se mueve uniformemente con los puntos inicial y final bloqueado
Para cualquier curva de Bézier de orden, se puede expresar mediante la siguiente fórmula:
El artículo también realiza experimentos comparativos sobre curvas de Bezier y curvas de ecuaciones polinómicas, como se muestra en la siguiente tabla. Los indicadores de la tabla son los resultados en el conjunto de pruebas TuSimple, cuanto más bajo, mejor.
A través de los experimentos anteriores, el artículo opta por utilizar la clásica curva de Bézier de tercer orden (n=3), porque se encuentra en el experimento que el tercer orden es suficiente para el modelado de líneas de carril y tiene un mejor ajuste que el Curva polinomial de tercer orden, habilidad, y la curva polinomial de tercer orden es la ecuación básica en muchos esquemas anteriores (así se dice en el documento). De hecho, Xiaotang aprendió de parte del trabajo en el que participó y de sus intercambios con sus compañeros que la mayoría de los esquemas actualmente en producción en masa real también son un esquema de curva polinomial de tercer orden. El artículo también señala que las curvas de orden superior no aportan las ganancias de rendimiento correspondientes, pero pueden causar inestabilidad debido a los altos grados de libertad.
La arquitectura propuesta
Para la imagen RGB de entrada, el mapa de características obtenido por la extracción de características se envía al módulo de fusión flip de características para obtener el mapa de características de tamaño CxH/16xW/16, y luego el mapa de características de CxW/16 obtenido por agrupación promedio y finalmente después de una clasificación y una rama de regresión obtiene los resultados correspondientes de la curva de Bezier.
Función Flip Fusion
El módulo de inversión de características es uno de los principales trabajos de este artículo.
Al modelar las líneas de los carriles como curvas históricas, el documento se enfoca en las características geométricas de cada línea de carril, como delgada, larga, continua y otras características. Al considerar la estructura global de las líneas de los carriles desde la perspectiva de la cámara de visión delantera, una carretera tiene líneas de carriles espacialmente divididas en dos, aproximadamente simétricas, p. La presencia de líneas de carril a la izquierda puede implicar la presencia de líneas de carril correspondientes a la derecha. El artículo modela esta simetría y diseña un módulo de inversión de características para este propósito.
una rama de segmentación binaria auxiliar
El artículo también diseña una rama adicional de segmentación de dos categorías en la red troncal de ResNet para mejorar el aprendizaje de los detalles espaciales. Y descubrió experimentalmente que esta rama adicional solo funciona cuando se trabaja con el módulo de fusión de funciones. Esto se debe a que la localización de la tarea de segmentación es beneficiosa para proporcionar un mapa de características espacialmente más preciso, que a su vez admite una fusión más precisa entre mapas de características invertidos.
Esta rama de segmentación binaria adicional solo se usa durante el entrenamiento y se desactiva durante la inferencia.
El artículo ilustra el impacto de este diseño a través de la visualización de Grad-CAM que se muestra arriba, y los detalles se pueden encontrar en el texto original.
Pérdida total
Debido a que no existe un desequilibrio entre las muestras positivas y negativas en el conjunto de datos de detección de líneas de carril, se utiliza una pérdida de entropía cruzada ponderada simple tanto para la clasificación como para la segmentación.
Experimentos
Resultados en el conjunto de prueba de CULane y TuSimple. *resultados reproducidos en nuestro marco de código, el mejor rendimiento de tres ejecuciones aleatorias. **informado a partir de códigos fuente abiertos confiables de los autores.
estudios de ablación
Ejemplo visual:
El artículo da buenos resultados, pero todavía hay problemas en escenas como rampas y grandes giros. Los amigos interesados pueden ejecutar el código para verlo. (Las siguientes cuatro imágenes son los resultados de ejecutar con el código fuente abierto y el peso del artículo. Si está interesado, puede ejecutarlo usted mismo)
Finalmente, dado que no leo mucho sobre las líneas de los carriles y mi capacidad de escritura es limitada, agradezco las críticas y las correcciones si tengo algún error. ¡Los amigos que estén interesados en la detección de líneas de carril, la conducción autónoma, la visión por computadora, etc. también pueden unirse al grupo de intercambio de conducción autónoma para aprender y jugar juntos! !
Este artículo es solo para uso académico, si hay alguna infracción, comuníquese para eliminar el artículo.
Descarga y estudio de productos secos
Respuesta entre bastidores: material didáctico de la Universitat Autònoma de Barcelona , puede descargar el material didáctico de alta calidad 3D Vison acumulado por universidades extranjeras durante varios años
Respuesta de fondo: libros de visión por computadora , puede descargar el pdf de libros clásicos en el campo de la visión 3D
Respuesta entre bastidores: cursos de visión 3D, puede aprender excelentes cursos en el campo de la visión 3D
Sitio web oficial del taller de visión artificial: 3dcver.com
1. Tecnología de fusión de datos multisensor para conducción autónoma
2. ¡Una ruta de aprendizaje de pila completa para la detección de objetivos de nube de puntos 3D en el campo de la conducción autónoma! (Monomodal + multimodal/datos + código)
3. Comprender a fondo la reconstrucción visual en 3D: análisis de principios, explicación del código y optimización y mejora
4. El primer curso de procesamiento de nubes de puntos doméstico para combate a nivel industrial
5. Visión láser -Combinación de algoritmo SLAM de fusión IMU-GPS
y explicación de
código
Principio de algoritmo clave SLAM láser para interiores y exteriores, código y combate real (cartógrafo + LOAM + LIO-SAM)
11. El despliegue real de modelos de aprendizaje profundo en la conducción autónoma
12. Modelo de cámara y calibración (monocular + binocular + ojo de pez)
13. ¡Pesado! Cuadricópteros: algoritmos y práctica
14. ROS2 desde el inicio hasta el dominio: teoría y práctica
15. El primer tutorial de detección de defectos 3D en China: teoría, código fuente y combate real
¡Pesado! Taller de Visión por Computador - Se ha establecido un Grupo de Intercambio de Aprendizaje
Escanee el código para agregar un asistente de WeChat, y puede solicitar unirse al taller de visión 3D: grupo de intercambio WeChat de redacción y envío de artículos académicos, que tiene como objetivo intercambiar asuntos de redacción y envío, como conferencias principales, revistas principales, SCI e EI.
Al mismo tiempo , también puede solicitar unirse a nuestro grupo de intercambio de dirección de subdivisión. En la actualidad, hay principalmente aprendizaje de código fuente de la serie ORB-SLAM, visión 3D , CV y aprendizaje profundo , SLAM , reconstrucción 3D , posprocesamiento de nubes de puntos , conducción automática, introducción de CV, medición 3D, VR / AR, reconocimiento facial 3D, imágenes médicas, detección de defectos, reidentificación de peatones, seguimiento de objetivos, aterrizaje visual de productos, competencia visual, reconocimiento de matrículas, selección de hardware, estimación de profundidad, intercambios académicos , intercambios de búsqueda de empleo y otros grupos de WeChat, escanee la siguiente cuenta de WeChat más el grupo, comentarios: "dirección de investigación + escuela/empresa + apodo", por ejemplo: "visión 3D + Universidad Jiaotong de Shanghái + Jingjing". Comente de acuerdo con el formato, de lo contrario no será aprobado. Después de que la adición sea exitosa, se invitará al grupo de WeChat relevante de acuerdo con la dirección de la investigación. Póngase en contacto con las presentaciones originales .
▲Presione prolongadamente para agregar un grupo de WeChat o contribuir
▲Presione prolongadamente para seguir la cuenta oficial
Visión 3D desde la entrada hasta el planeta del conocimiento competente : cursos de video para el campo de la visión 3D (serie de reconstrucción 3D , serie de nube de puntos 3D, serie de luz estructurada , calibración mano-ojo, calibración de cámara , láser/visión SLAM, conducción automática, etc. ) , resumen de puntos de conocimiento, entrada y ruta de aprendizaje avanzado, el último papel compartido y respuesta a preguntas para un cultivo en profundidad, y orientación técnica de ingenieros de algoritmos de varias fábricas grandes. Al mismo tiempo, Planet cooperará con empresas conocidas para lanzar trabajos de desarrollo de algoritmos relacionados con la visión 3D e información de acoplamiento de proyectos, creando un área de reunión para fanáticos acérrimos que integra tecnología y empleo. conocimiento para crear un mejor mundo de IA.
Aprenda la tecnología central de la visión 3D, escanee y vea la introducción, reembolso incondicional dentro de los 3 días
Hay materiales tutoriales de alta calidad en el círculo, que pueden responder preguntas y ayudarlo a resolver problemas de manera eficiente
Lo encuentro útil, por favor dale me gusta y mira ~