La segmentación de imágenes juega un papel crucial en la identificación y delimitación precisa de objetos de interés dentro de una imagen. En la conducción autónoma, se aplican algoritmos de visión por computadora para resolver la tarea de segmentación de la superficie de la carretera. Esta tarea es un desafío ya que no se puede confiar en un solo tipo de imágenes: tanto las cámaras como los LiDAR tienen sus ventajas y desventajas. Por ejemplo, los LiDAR proporcionan información de profundidad precisa, pero normalmente generan nubes de puntos escasas, por lo que no pueden segmentar con precisión los objetos dentro de la escena. Y pueden producir nubes distorsionadas cuando se enfrentan a superficies transparentes o reflectantes. Las cámaras no capturan la profundidad, pero brindan información completa sobre la forma, textura y color de los objetos. Esto nos lleva a una idea simple de que una fusión efectiva de nubes de puntos e imágenes en el entrenamiento de la segmentación de carreteras 2D puede aprovechar las ventajas de cada dominio de datos. El problema es que dicha fusión requiere una anotación laboriosa de ambos conjuntos de datos. Entonces, ¿podemos hacer que la anotación de datos sea más eficiente para disfrutar de los beneficios de una configuración multisensor para la segmentación de carreteras?
Actualmente trabajo en
En esta publicación, describiré nuestro enfoque paso a paso y mostraré algunos resultados de las pruebas. Si desea profundizar en nuestro trabajo, otros métodos de investigación y los resultados de nuestras pruebas, consulte nuestro artículo.
El proceso general de nuestro enfoque consta de cuatro partes principales: anotación de carreteras en la nube de puntos, preparación de datos, pérdida enmascarada y el modelo de segmentación en sí.
En primer lugar, obtenemos los datos con anotaciones de carreteras en el dominio de la nube de puntos. Después de eso, proyectamos puntos usando transformaciones homogéneas y parámetros de cámara. Luego, utilizando los puntos proyectados obtenemos la máscara de verdad del terreno de la carretera para el cálculo de pérdidas con ruido aleatorio agregado. Las imágenes de la cámara son procesadas por el modelo de segmentación. La pérdida enmascarada utiliza las predicciones y máscaras del paso anterior, lo que permite entrenar el modelo utilizando datos reales escasos sobre el terreno. Finalmente, después del entrenamiento del modelo, obtenemos una imagen con una carretera segmentada. El procedimiento de entrenamiento, así como la pérdida enmascarada, permiten mezclar la verdad del terreno proyectada con máscaras 2D tradicionales, lo que hace que el enfoque sea flexible en términos de datos.
Ahora veamos de cerca cada una de las partes.
1 anotación de datos de nube de puntos
Para utilizar datos LIDAR durante el entrenamiento, necesitamos anotaciones de segmentación semántica para nubes de puntos. Esto podría hacerse manualmente utilizando una herramienta de anotación de nube de puntos de código abierto, como
2 preparación de datos
Una nube de puntos obtenida se proyecta sobre el plano de la imagen mediante transformaciones homogéneas para obtener una máscara de segmentación de la imagen con la etiqueta de clase que requerimos, en nuestro caso es una carretera. Para dicha proyección, utilizamos fotogramas de cámara y lidar sincronizados, acompañados de parámetros de cámara y una matriz de transformación de lidar a fotograma de cámara. Para proyectar un punto homogéneo x = (x, y, z, 1)ᵀ
en coordenadas de marco lidar al punto y = (u, v, 1)ᵀ
en un plano de imagen, usamos la ecuación:
Después de la transformación, obtenemos puntos en la imagen como una máscara de píxeles, tanto para la clase de carretera como para todos los demás puntos del escaneo lidar. Necesitamos otros puntos de escaneo LIDAR, porque los puntos LIDAR están ubicados principalmente en la parte inferior de la imagen y la parte superior de la imagen no tiene ningún punto, lo que podría conducir a predicciones inexactas en esa área. Para eliminar este efecto, agregamos puntos aleatorios en la mitad superior de la máscara (clase negativa) para equilibrar la distribución de los puntos donde calcularemos la pérdida.
3 pérdida enmascarada
Un componente crucial de nuestro método es la aplicación de una función de pérdida enmascarada durante el entrenamiento del modelo. Este enfoque elimina la escasez inherente a las máscaras de verdad terrestre derivadas de LIDAR. A diferencia de las funciones de pérdida convencionales, que consideran las máscaras completas de la imagen para calcular los errores, la pérdida enmascarada se centra únicamente en las regiones donde están presentes los puntos lidar. Este cálculo de pérdidas dirigido garantiza que el aprendizaje del modelo se concentre en regiones relevantes, aprovechando la información proporcionada por LIDAR para mejorar la precisión de la segmentación de carreteras. En otras palabras, obligamos al modelo a aprender la segmentación de carreteras midiendo el error de predicción en una cuadrícula de puntos. Podría compararse con mirar la imagen usando gafas con obturador (persianas).
La pérdida enmascarada para cada imagen se puede formular de esta manera:
La pérdida enmascarada se realiza aplicando una máscara binaria a las imágenes de entrenamiento. Esta máscara delinea las áreas donde se ubican los puntos lidar y se proyectan en el plano de la imagen. Durante la fase de entrenamiento, la pérdida se calcula solo para aquellos píxeles que están debajo de la máscara, ignorando efectivamente grandes partes de la imagen sin anotaciones. Este método no solo mejora la eficiencia del proceso de capacitación, sino que también mitiga los problemas representados por la naturaleza escasa de los datos LIDAR.
4 Entrenamiento modelo
El último paso implica entrenar el modelo de segmentación en el conjunto de datos creado. El proceso de formación puede ser adecuado para cualquier modelo de segmentación y en nuestra investigación utilizamos PSPNet. En esta etapa, todo depende de la calidad de sus datos, su cantidad y la potencia informática disponible.
Probamos nuestro enfoque en varios conjuntos de datos, incluidos los de código abierto, como Perception Waymo Open Dataset y KITTI-360. Cada vez llevamos a cabo una serie de tres experimentos: usando solo datos reales de carreteras 2D, solo puntos proyectados como datos reales y una combinación de estos tipos de datos reales. Y los resultados de la segmentación de carreteras (% del IoU) parecen prometedores:
Experimento | Capacitado en el conjunto de datos KITTI-360 | Entrenado en el conjunto de datos Waymo |
---|---|---|
Solo 2D (línea de base) | 92.3 | 96.1 |
Solo proyectado en 3D | 89,6 | 94,7 |
mezclar 2D + 3D proyectado | 92,7 | 96,3 |
Estos números significan que si solo tiene segmentación LIDAR y no desea gastar recursos adicionales en anotaciones de imágenes 2D, está bien. La caída en la calidad en comparación con el entrenamiento solo con máscaras de imágenes 2D puede ser insignificante. Si tiene recursos para anotar datos de ambos sensores, simplemente combine estos dos tipos de anotaciones durante el proceso de capacitación y obtenga un aumento en las métricas.
En general, los beneficios del enfoque que observamos durante la investigación son: