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
.checkpointset 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.csvest 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.
|
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 :
|
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 :
|
Value Table |
|
Critères de sélection du modèle (Facultatif) |
Spécifie la base statistique qui servira à déterminer le modèle final.
|
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.
|
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.
|
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.
|
String |
|
Fonction de perte (Facultatif) |
Spécifie la fonction de perte utilisée lors de l’entraînement.
|
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 |
Text File |
|
Output Epoch Statistics (Statistiques des époques en sortie) |
Fichier |
Text File |
Environnements
Informations de licence
- Basic: Nécessite 3D Analyst
- Standard: Nécessite 3D Analyst
- Advanced: Nécessite 3D Analyst