Skip to main content

Entraîner le modèle de classification du nuage de points (Outils 3D Analyst)

Résumé

Entraîne un modèle Deep Learning pour la classification du nuage de points.

En savoir plus sur l’entraînement d’un modèle de classification du nuage de points

Utilisation

  • Cet outil requiert l’installation de Deep Learning Essentials, qui offre plusieurs solutions de réseau neuronal incluant des architectures neuronales permettant de classer les nuages de points.

    Pour configurer votre machine afin d’utiliser des structures de Deep Learning dans ArcGIS Pro, reportez-vous à la rubrique Installer des structures de Deep Learning pour ArcGIS.

  • Le modèle de classification du nuage de points peut être entraîné à l’aide d’une carte graphique NVIDIA compatible CUDA ou du CPU. Il est généralement plus rapide d’utiliser le GPU que le CPU. Utilisez le CPU uniquement si aucun GPU n’est disponible. Si vous utilisez l’unité centrale pour l’entraînement, commencez par utiliser l’architecture RandLA-Net car celle-ci consomme moins de mémoire que l’architecture PointCNN. Vous pouvez également tester l’utilisation de l’échantillon d’entraînement le plus petit possible afin d’estimer le temps nécessaire au traitement des données avant de procéder à l’entraînement avec le jeu de données d’entraînement complet.

  • Si vous utilisez l’unité de traitement graphique (GPU) pour entraîner un modèle sur un ordinateur doté de plusieurs cartes graphiques, l’outil utilisera la carte graphique de l’ordinateur la plus rapide. Vous pouvez aussi spécifier l’unité de traitement graphique à l’aide du paramètre d’environnement ID GPU. Si l’ordinateur est doté de plusieurs cartes graphiques, vous pouvez optimiser les performances de l’entraînement en dédiant la carte graphique possédant les meilleures ressources de calcul à l’entraînement et la carte graphique possédant moins de ressources à l’écran. Si l’unité de traitement graphique est également utilisée pour l’écran, sa mémoire disponible sera diminuée par le système d’exploitation et toute application utilisant l’écran au cours du processus d’entraînement.

  • L’utilisation d’un modèle pré-entraîné est intéressante, en particulier pour faire face aux limitations en termes de données, de temps ou de ressources de calcul. Les modèles pré-entraînés réduisent la nécessité d’un entraînement complet et offrent un point de départ fiable pour créer plus rapidement un modèle utile. Pour profiter du modèle pré-entraîné, les nouvelles données d’entraînement doivent être compatibles. Vérifiez que les nouvelles données d’entraînement ont les mêmes attributs et codes de classe que celles qui ont permis de créer le modèle pré-entraîné. Si les codes de classe dans les données d’entraînement ne correspondent pas à celles du modèle pré-entraîné, les classes des données d’entraînement doivent être réappariées.

  • Lorsque l’outil est en cours d’exécution, son message de progression signale les statistiques suivantes sur les résultats d’entraînement qui ont été atteints pour chaque époque :

    • Epoch—Numéro d’époque auquel le résultat est associé

    • Training Loss—Résultat de la fonction de perte d’entropie dont la moyenne a été calculée pour les données d’entraînement

    • Validation Loss—Résultat de la fonction de perte d’entropie qui a été déterminée lors de l’application du modèle entraîné dans l’époque sur les données de validation

    • Accuracy—Ratio de points dans les données de validation qui ont été correctement classés par le modèle entraîné dans l’époque (vrais positifs) par rapport à tous les points dans les données de validation

    • Precision—Macro moyenne de la précision pour tous les codes de classe

    • Recall—Macro moyenne du rappel pour tous les codes de classe

    • F1 Score—Moyenne harmonique de la macro moyenne des valeurs de précision et de rappel pour tous les codes de classe

    Un modèle qui atteint une perte d’entraînement faible, mais une perte de validation élevée est considéré comme étant en état de sur-ajustement par rapport aux données d’entraînement : il détecte les modèles des artefacts dans les données d’entraînement. En conséquence, le modèle ne fonctionne pas bien pour les données de validation. Un modèle qui atteint une perte d’entraînement élevée et une perte de validation élevée est considéré comme étant en état de sous-ajustement par rapport aux données d’entraînement : aucun modèle ne peut être appris efficacement pour produire un modèle utilisable.

    En savoir plus sur l’évaluation des résultats d’entraînement du nuage de points

  • Un dossier permettant de stocker les modèles des points de contrôle (modèles créés à la fin de chaque époque) est créé. Le nom du dossier est le même que celui avec le suffixe .checkpoints et il est stocké dans la valeur du paramètre Output Model Location (Localisation du modèle en sortie). Une fois l’entraînement terminé, une table CSV dont le nom est identique à la valeur du paramètre Output Model Name (Nom du modèle en sortie) et se termine par _stats.csv est créée dans le dossier des points de contrôle. Cette table inclut les champs suivants concernant les résultats obtenus pour chaque code de classe et époque :

    • Epoch—Numéro de l’époque associée aux résultats de la ligne. Cette valeur correspond au modèle créé dans le répertoire de modèles de points de contrôle. Les résultats sont obtenus en appliquant le modèle entraîné dans l’époque sur les données de validation.

    • Class_Code—Code de classe pour lequel les résultats sont signalés.

    • Precision—Ratio des points qui ont été correctement classés (vrais positifs) par rapport à tous les points qui ont été classés (vrais positifs et faux positifs).

    • Recall—Ratio des points correctement classés (vrais positifs) par rapport à tous les points qui auraient dû être classés avec cette valeur (vrais positifs et faux positifs).

    • F1_Score—Moyenne harmonique de la précision et de la valeur de rappel.

  • La mémoire dédiée utilisée au cours de l’entraînement est la somme de la mémoire allouée par la structure de Deep Learning et de la taille des données traitées dans chaque lot d’une itération à une époque donnée. La taille des données dans chaque lot dépend du nombre d’attributs ponctuels supplémentaires spécifiés dans le paramètre Attribute Selection (Sélection des attributs), du nombre total de points dans un bloc donné et du nombre de blocs qui seront traités dans chaque lot, tel que spécifié par le paramètre Batch Size (Taille de lot). Le nombre maximal de points par bloc est déterminé lorsque les données d’entraînement sont exportées. Cette valeur doit être supposée lors de l’estimation de la quantité de mémoire potentielle de l’opération d’entraînement.

  • L’option Relative Height (Hauteur relative) dans le paramètre Attribute Selection (Sélection des attributs) est un attribut qui identifie la hauteur d’un point à partir d’une surface de référence, telle qu’un modèle d’élévation de terre nue. L’utilisation de cet attribut peut potentiellement améliorer la capacité du modèle à apprendre des relations directionnelles au cours de l’entraînement.

Paramètres

Etiqueter Explication Type de données

Données d’entraînement en entrée

Données d’entraînement du nuage de points (fichier *.pctd) utilisées pour entraîner le modèle de classification.

File

Output Model Location (Localisation du modèle en sortie)

Dossier existant qui stocke le nouveau répertoire contenant le modèle de Deep Learning.

Folder

Output Model Name (Nom du modèle en sortie)

Nom du fichier de définition de modèle Esri en sortie (.emd), package Deep Learning (.dlpk) et répertoire créé pour les stocker.

String

Modèle pré-entraîné

(Facultatif)

Le modèle préalablement entraîné qui sera affiné. Lorsqu’un modèle préalablement entraîné est fourni, les données d’entraînement en entrée doivent avoir les mêmes attributs, codes de classes et nombre maximal de points que ceux utilisés par les données d’entraînement qui ont permis de générer ce modèle.

File

Attribute Selection (Sélection des attributs)

(Facultatif)

Spécifie les attributs de point qui seront utilisés pour entraîner le modèle. Seuls les attributs présents dans les données d’entraînement du nuage de points sont disponibles. Aucun attribut supplémentaire n’est inclus par défaut.

  • IntensityThe measure of the magnitude of the lidar pulse return will be used.

  • Return NumberThe ordinal position of the point obtained from a given lidar pulse will be used.

  • Number of ReturnsThe total number of lidar returns that were identified as points from the pulse associated with a given point will be used.

  • Red BandThe red band's value from a point cloud with color information will be used.

  • Green BandThe green band's value from a point cloud with color information will be used.

  • Blue BandThe blue band's value from a point cloud with color information will be used.

  • Near Infrared BandThe near infrared band's value from a point cloud with near infrared information will be used.

  • Relative HeightThe relative height of each point in relation to a reference surface, which would typically be a bare earth DEM, will be used.

String

Minimum Points Per Block (Nombre minimal de points par bloc)

(Facultatif)

Nombre minimal de points qui doivent être présents dans un bloc donné pour que ce dernier puisse être utilisé lors de l’entraînement du modèle. La valeur par défaut est 0.

Long

Réappariement de classe

(Facultatif)

Détermine la façon dont les valeurs des codes de classe seront appariées aux nouvelles valeurs avant d’entraîner le modèle de Deep Learning.

Colonnes de la table de valeurs :

  • Current ClassThe class code value in the training data.

  • Remapped ClassThe class code that the existing code will be changed to.

Value Table

Codes de classes d’intérêt

(Facultatif)

Codes de classes qui serviront à filtrer les blocs dans les données d’entraînement. Lorsque les codes de classes d’intérêt sont spécifiés, tous les autres codes de classes sont réappariés au code de classe d’arrière-plan.

Long

Code de classe d’arrière-plan

(Facultatif)

Valeur du code de classe qui sera utilisée pour tous les autres codes de classes lorsque des codes de classes d’intérêt ont été spécifiés.

Long

Description de classe

(Facultatif)

Descriptions de ce que représente chaque code de classe dans les données d’entraînement.

Colonnes de la table de valeurs :

  • Current CodeThe class code value that was learned by the model.

  • Class DescriptionThe object described by the class code.

Value Table

Critères de sélection du modèle

(Facultatif)

Spécifie la base statistique qui servira à déterminer le modèle final.

  • Validation LossThe model that achieves the lowest result when the entropy loss function is applied to the validation data will be used.

  • RecallThe model that achieves the best macro average of the recall for all class codes will be used. Each class code's recall value is determined by the ratio of correctly classified points (true positives) over all the points that should have been classified with this value (expected positives). This is the default.

  • F1 ScoreThe model that achieves the best harmonic mean between the macro average of the precision and recall values for all class codes will be used. This provides a balance between precision and recall, which favors better overall performance.

  • PrecisionThe model that achieves the best macro average of the precision for all class codes will be used. Each class code's precision is determined by the ratio of points that are correctly classified (true positives) over all the points that are classified (true positives and false positives).

  • AccuracyThe model that achieves the highest ratio of corrected classified points over all the points in the validation data will be used.

String

Maximum Number of Epochs (Nombre maximal d’époques)

(Facultatif)

Nombre de fois que chaque bloc de données va et vient sur le réseau neuronal. La valeur par défaut est 25.

Long

Iterations Per Epoch (Itérations par époque) (%)

(Facultatif)

Pourcentage des données traitées dans chaque époque d’entraînement. La valeur par défaut est 100.

Double

Learning Rate (Vitesse d’apprentissage)

(Facultatif)

Vitesse à laquelle les informations existantes sont remplacées par les nouvelles informations. Si aucune valeur n’est indiquée, la vitesse d’apprentissage optimale est extraite de la courbe d’apprentissage lors du processus d’entraînement. Il s’agit de l’option par défaut.

Double

Batch Size (Taille de lot)

(Facultatif)

Nombre de blocs de données d’entraînement traités à tout moment. La valeur par défaut est 2.

Long

Stop training when model no longer improves (Terminer l’entraînement lorsque le modèle ne s’améliore plus)

(Facultatif)

Indique si l’entraînement du modèle s’arrête lorsque la mesure spécifiée dans le paramètre Model Selection Criteria (Critères de sélection du modèle) n’enregistre aucune amélioration après cinq époques consécutives.

  • ActivéThe model training will stop when the model is no longer improving. This is the default.

  • DécochéThe model training will continue until the maximum number of epochs has been reached.

Boolean

Learning Rate Strategy (Stratégie de vitesse d’apprentissage)

(Facultatif)

Indique la manière dont la vitesse d’apprentissage est modifiée lors de l’entraînement.

  • One Cycle Learning RateThe learning rate will be cycled throughout each epoch using Fast.AI's implementation of the 1cycle technique for training neural networks to help improve the training of a convolutional neural network. This is the default.

  • Fixed Learning RateThe same learning rate will be used throughout the training process.

String

Architecture du modèle

(Facultatif)

Spécifie l’architecture du réseau neuronal à utiliser pour entraîner le modèle. Lorsqu’un modèle préentraîné est spécifié, l’architecture qui a été utilisée pour créer le modèle préentraîné est sélectionnée automatiquement.

  • PointCNNThe PointCNN architecture will be used.

  • RandLA-NetThe RandLA-Net architecture will be used. RandLA-Net is built on the principles of simple random sampling and local feature aggregation.

  • Semantic Query NetworkThe Semantic Query Network (SQN) architecture will be used. SQN does not require a comprehensive classification of the training data as the other neural network architectures do.

  • Point Transformer V3The Point Transformer V3 architecture will be used. This is the default.

String

Fonction de perte

(Facultatif)

Spécifie la fonction de perte utilisée lors de l’entraînement.

  • Cross Entropy LossCross entropy loss will be used. This function is best suited for training data in which each class has a similar number of points to the other classes. This is the default.

  • Focal LossFocal loss will be used. This function is best suited for training data in which the classes that are being trained may have point counts with great variation.

String

Sortie dérivée

Etiqueter Explication Type de données

Modèle en sortie

Modèle résultant généré par cet outil.

File

Statistiques de modèle en sortie

Fichier .csv contenant la précision, le rappel et les scores F1 pour chaque code de classe et époque.

Text File

Output Epoch Statistics (Statistiques des époques en sortie)

Fichier .csv contenant la perte d’entraînement, la perte de validation, l’exactitude, la précision, le rappel et les scores F1 obtenus dans chaque époque.

Text File

Environnements

Type de processeur, ID GPU

Informations de licence

  • Basic: Nécessite 3D Analyst
  • Standard: Nécessite 3D Analyst
  • Advanced: Nécessite 3D Analyst