Deep Learning

Exemple guidé de traitement de données LiDAR

Découvrir comment charger des données en nuages de points, prétraiter des jeux de données, définir et entraîner des réseaux, et générer des détections.

Pour démarrer :

  1. Téléchargez le code
  2. Ouvrez le code dans MATLAB
  3. Suivez les étapes ci-dessous

Vous n'avez pas accès à MATLAB ?

Temps nécessaire pour compléter le tutoriel :
15–30 minutes
Niveau :
Débutant/Intermédiaire

Besoin d'un rappel sur les connaissances ? Essayez un tutoriel interactif gratuit.

Étape 1

Charger des données en nuages de points et les étiquettes correspondantes

Avec un réseau de neurones profond, vous pouvez explorer la détection multi-classes d'objets sur des données en nuages de points. Cet exemple utilise le réseau PointPillars, qui peut détecter des objets dans un nuage de points et ajuster des boîtes englobantes orientées autour d'eux.

  • Créez des datastores pour gérer les données.
  • Créez un fileDatastore pour charger les fichiers PCD à partir du chemin spécifié avec la fonction pcread.
  • Chargez les étiquettes des boîtes englobantes avec la fonction boxLabelDatastore pour les étiquettes de vérité-terrain.

Points importants à retenir :

  • Cette démonstration utilise un nuage de points en vue de face plutôt qu'un nuage de points en vue complète. Cette approche présente deux avantages : (1) un apprentissage et une exécution plus rapides et (2) de meilleures performances réseau pour une orientation, une similarité et une précision moyennes.

Étape 2

Prétraiter les jeux de données

Vous êtes prêt à diviser les jeux de données et à explorer différentes techniques d'augmentation.

  • Divisez le jeu de données en jeux d'apprentissage et de test.
  • Augmenter les données de la vérité-terrain, ce qui ajoute au hasard un nombre fixe d'objets de classe « Car » à chaque nuage de points. L'image ci-dessous montre une répartition de 70 % des données pour l'apprentissage et le reste pour les tests. Cette technique permet d'améliorer la précision du réseau lors de l'apprentissage en augmentant de façon synthétique la taille du jeu de données d'apprentissage.
  • Essayez les techniques d'augmentation des données, telles que la réflexion, la mise à l'échelle, la rotation et la translation du nuage de points.
  • Visualisez le résultat.

Points importants à retenir :

  • Cet exemple utilise un petit jeu de données avec très peu de trames pour illustrer le workflow. Pour obtenir de meilleurs résultats, entraînez le réseau sur un plus grand jeu de données.

Étape 3

Définir les réseaux

Définissez les boîtes d'ancrage, les piliers pour le réseau PointPillars et le réseau PointPillars lui-même.

  • Définissez les boîtes d'ancrage.
  • Définissez le nombre de piliers pour le réseau PointPillars.
  • Utilisez la fonction de détection d'objets PointPillars pour créer un réseau de détection d'objets PointPillars.

Étape 4

Entraîner les réseaux

Une fois le réseau défini, entraînez le modèle sur le jeu de données d'apprentissage.

  • Spécifiez les nouveaux paramètres d'apprentissage.
  • Utilisez la fonction trainPointPillarsObjectDetector pour entraîner PointPillars.
  • Chargez un détecteur d'objets pré-entraîné si vous ne souhaitez pas entraîner un modèle en partant de zéro.

Points importants à retenir :

  • L'apprentissage est l'étape la plus longue d'un workflow de Deep Learning. Vous pouvez alternativement utiliser un modèle pré-entraîné pour détecter des objets dans un nuage de points.

Étape 5

Générer des détections

Dans la dernière étape, utilisez le réseau entraîné pour détecter des objets dans les données de test et afficher le nuage de points avec les boîtes englobantes.

  • Lisez le nuage de points à partir des données de test.
  • Utilisez la fonction detect sur le nuage de points de test pour obtenir la prédiction des boîtes englobantes avec leur score de confiance.
  • Affichez le nuage de points détecté en sortie avec les boîtes englobantes. Les boîtes englobantes vertes représentent les véhicules dans le nuage de points de sortie.

Apprenez en suivant les vidéos de l’exemple guidé sur le traitement de données LiDAR :

Consultez les liens ci-dessous pour continuer à effectuer d'autres tâches LiDAR ou explorer le Deep Learning avec des applications connexes.

Johanna Pingel

Contactez Johanna, experte MathWorks dans le domaine du Deep Learning