Deep Learning

Ejemplo interactivo de LiDAR

Aprenda a cargar datos de nube de puntos, preprocesar conjuntos de datos, definir y entrenar redes, y generar detecciones.

Para comenzar:

  1. Descargue el código
  2. Abra el código en MATLAB
  3. Siga los pasos a continuación.

¿No tiene acceso?

Duración:
15-30 minutos
Nivel:
Básico/Intermedio

¿Necesita un repaso? Pruebe un tutorial interactivo gratuito.

Paso 1

Cargue los datos de nube de puntos y las etiquetas correspondientes

Con una red neuronal profunda, puede explorar la detección de objetos de varias clases en datos de nube de puntos. En este ejemplo se utiliza la red PointPillars, que puede detectar objetos en la nube de puntos y ajustar cuadros delimitadores orientados a su alrededor.

  • Cree almacenes de datos para gestionar los datos.
  • Cree un fileDatastore para cargar los archivos PCD desde la ruta especificada con la función pcread.
  • Cargue etiquetas de cuadros delimitadores con la función boxLabelDatastore para etiquetas de validación ground-truth.

Recuerde:

  • En esta demostración se utiliza una nube de puntos de vista frontal en lugar de una nube de puntos de vista completa. Este enfoque tiene dos ventajas: (1) entrenamiento y ejecución más rápidos, y (2) mejor rendimiento de precisión y similitud de orientación promedio de la red.

Paso 2

Preprocese los conjuntos de datos

Ya tiene todo lo que necesita para dividir conjuntos de datos y explorar diversas técnicas de aumento.

  • Divida el conjunto de datos en un conjunto de entrenamiento y otro de prueba.
  • Realice aumento de datos de validación ground-truth, para agregar aleatoriamente un número fijo de objetos de clase de automóvil a cada nube de puntos. La siguiente imagen muestra que el 70% de los datos es para entrenamiento y el resto para pruebas. Esta técnica ayuda a mejorar la precisión de la red durante el entrenamiento aumentando sintéticamente el tamaño del conjunto de datos de entrenamiento.
  • Pruebe técnicas de aumento de datos tales como inversión, escalado, rotación y traslación de la nube de puntos.
  • Visualice el resultado.

Recuerde:

  • En este ejemplo se utiliza un conjunto de datos pequeño con muy pocas imágenes individuales para demostrar el flujo de trabajo. Para obtener mejores resultados, entrene la red con un conjunto de datos más grande.

Paso 3

Defina la red

Comience a definir los cuadros de anclaje, los pilares de la red y la propia red PointPillars.

  • Defina los cuadros de anclaje.
  • Defina el número de pilares de la red PointPillars.
  • Utilice la función de detección de objetos de PointPillars para crear una red de detección de objetos de PointPillars.

Paso 4

Entrene la red

Una vez que haya definido la red, entrene el modelo con el conjunto de datos de entrenamiento.

  • Especifique nuevos parámetros de entrenamiento.
  • Utilice la función trainPointPillarsObjectDetector para entrenar la red PointPillars.
  • Cargue un detector de objetos previamente entrenado si no desea entrenar un modelo desde cero.

Recuerde:

  • El entrenamiento es el paso del flujo de trabajo de Deep Learning que requiere más tiempo. Si lo prefiere, puede utilizar un modelo previamente entrenado para detectar objetos en la nube de puntos.

Paso 5

Genere detecciones

En el paso final, utilice la red entrenada para detectar objetos en los datos de prueba y muestre la nube de puntos con cuadros delimitadores.

  • Lea la nube de puntos a partir de los datos de prueba.
  • Utilice la función detect en la nube de puntos de prueba para obtener puntuaciones de confianza y cuadros delimitadores previstos.
  • Muestre la nube de puntos de salida detectada con cuadros delimitadores. Los cuadros delimitadores verdes representan automóviles en la nube de puntos de salida.

Siga estos pasos con los vídeos de ejemplo:

Consulte los enlaces a continuación para aprender más tareas de LIDAR, o explorar Deep Learning con aplicaciones relacionadas.

Johanna Pingel

Comuníquese con Johanna, experta en Deep Learning de MathWorks