Étiquette | Explication | Type de données |
Nuage de points en entrée | Nuage de points qui sera utilisé pour détecter des objets. | LAS Dataset Layer |
Définition de modèle en entrée | Modèle de détection d’objets qui sera utilisé. Un fichier de définition du modèle Esri (.emd), un paquetage de Deep Learning package (.dlpk) ou un modèle de détection des objets publiés depuis ArcGIS Online ou Portal for ArcGIS peut être spécifié. | File; String |
Objets cibles | Objets qui seront identifiés dans le nuage de points en entrée, avec les valeurs des seuils de confiance et de superposition qui serviront pour accepter les objets détectés.
| Value Table |
Entités d’objets en sortie | Les entités multipatch en sortie contiendront les emprises englobant les objets détectés dans le nuage de points en entrée. | Feature Class |
Taille de lot (Facultatif) | Nombre de blocs du nuage de points en entrée qui seront traités simultanément. Si aucune valeur n’est fournie, un bloc est traité à la fois. | Long |
Limite de traitement | Entité surfacique qui définira la zone d’intérêt à traiter. | Feature Layer |
Surface de référence | Surface raster qui sera utilisée pour calculer les hauteurs relatives pour chaque point. Ce paramètre est nécessaire lorsque le modèle en entrée contient l’attribut de hauteur relative, ce qui indique qu’il a été entraîné à l’aide d’une surface raster de hauteur de référence. | Raster Layer |
Classes exclues | Codes de classe du nuage de points en entrée qui seront exclus des points traités pour détecter des objets. Si le modèle a été entraîné avec des points provenant de certains codes de classe ignorés, les points dans le nuage de points en entrée doivent avoir la même classe d’objets identifiés et exclus afin d’obtenir les meilleurs résultats. | Long |
Synthèse
Détecte les objets capturés dans un nuage de points à l’aide d’un modèle de Deep Learning.
Illustration
Utilisation
L’outil requiert l’installation de Deep Learning Essentials, qui fournit de nombreuses solutions de réseau neuronal incluant des architectures neuronales pour la classification des nuages de points.
Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans ArcGIS AllSource, consultez la rubrique Installer les structures d’apprentissage profond pour ArcGIS.
Les modèles de détection des objets ne nécessitent pas la classification du nuage de points en entrée. Cependant, le nuage de points qui sera évalué doit présenter des caractéristiques similaires à celles des données du nuage de points utilisées pour entraîner le modèle. Par exemple, un modèle de détection des objets entraîné sur un nuage de points terrestre à classer des voitures conviendrait à un autre nuage de points terrestre, mais il risque d’être peu adapté sur un nuage de points collecté à partir d’une enquête lidar aérienne.
Le modèle identifie différents objets, dont certains peuvent se superposer. Pour affiner ces détections, deux seuils clés sont utilisés : le seuil du score de confiance et le seuil de superposition. Le score de confiance est une valeur numérique comprise entre 0,0 et 1,0 qui indique la probabilité d’identification correcte d’un objet. Un score supérieur implique une plus grande incertitude. Un seuil peut alors être défini pour éliminer les détections situées sous un certain niveau de confiance.
Dans les cas où plusieurs objets similaires ont des emprises superposées, le seuil de superposition prend encore plus d’importance. Cette mesure utilise le ratio Intersection sur union (IoU), qui est calculé en divisant le volume de l’intersection par le volume de l’union pour les emprises superposées. Pour les objets dont le ratio IoU dépasse le seuil de superposition, seul est conservé celui qui présente le score de confiance le plus élevé. L’algorithme Suppression non maximale (NMS) permet de s’assurer que seules les détections les plus pertinentes font partie de la sortie finale.
Le paramètre Surface de référence est requis lorsque le modèle en entrée a été entraîné avec des attributs de hauteur relative. La surface raster est utilisée comme hauteur de référence à partir de laquelle les hauteurs relatives sont interpolées pour chaque point. Cela fournit des informations complémentaires pour le modèle qui permettent de distinguer plus rapidement les objets. La surface raster fournie pour ce paramètre doit représenter le même type de données que le raster qui a été utilisé dans les données d’entraînement à l’origine du modèle. Dans la plupart des cas, il s’agit d’un raster créé à partir de points classés comme terrestres. Une surface raster peut être générée à partir de points classés comme terrestres dans le jeu de données LAS en appliquant un filtre terrestre et en utilisant l’outil Jeu de données LAS vers raster. Il est également possible de générer une surface au sol à partir d’une couche de scène de nuage de points à l’aide de l’outil Nuage de points vers raster. Vous pouvez aussi utiliser des surfaces raster qui n’ont pas pour source le nuage de points en entrée, mais vous devez dans ce cas vous assurer que les valeurs z dans le raster correspondent aux valeurs z dans le nuage de points.
Lorsque le modèle en entrée a été entraîné avec des points issus de certaines classes exclues des données d’entraînement, utilisez le paramètre Codes de classe exclus pour faire en sorte que ces points soient omis de l’ensemble de points évalués par ce modèle. L’exclusion des classes qui n’apportent pas de contexte utile pour les objectifs d’un modèle donné réduit le nombre de points qui sont évalués, ce qui améliore la vitesse d’entraînement et l’application du modèle. Par exemple, les points représentant des bâtiments ne sont généralement pas pertinents pour les points représentant des objets tels que les feux de circulation, les lignes électriques ou les voitures. Il est également possible de classer avec fiabilité les points de bâtiment à l’aide de l’outil Classer des bâtiments LAS. Si des points de la classe 6, qui représente des bâtiments, ont été exclus des données d’entraînement utilisées pour créer le modèle, le nuage de points en entrée doit également classer les points de bâtiment et les exclure dans cet outil.
Paramètres
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, target_objects, out_features, {batch_size}, boundary, reference_height, excluded_class_codes)
Nom | Explication | Type de données |
in_point_cloud | Nuage de points qui sera utilisé pour détecter des objets. | LAS Dataset Layer |
in_trained_model | Modèle de détection d’objets qui sera utilisé. Un fichier de définition du modèle Esri (.emd), un paquetage de Deep Learning package (.dlpk) ou un modèle de détection des objets publiés depuis ArcGIS Online ou Portal for ArcGIS peut être spécifié. | File; String |
target_objects [target_objects,...] | Objets qui seront identifiés dans le nuage de points en entrée, avec les valeurs des seuils de confiance et de superposition qui serviront pour accepter les objets détectés.
| Value Table |
out_features | Les entités multipatch en sortie contiendront les emprises englobant les objets détectés dans le nuage de points en entrée. | Feature Class |
batch_size (Facultatif) | Nombre de blocs du nuage de points en entrée qui seront traités simultanément. Si aucune valeur n’est fournie, un bloc est traité à la fois. | Long |
boundary | Entité surfacique qui définira la zone d’intérêt à traiter. | Feature Layer |
reference_height | Surface raster qui sera utilisée pour calculer les hauteurs relatives pour chaque point. Ce paramètre est nécessaire lorsque le modèle en entrée contient l’attribut de hauteur relative, ce qui indique qu’il a été entraîné à l’aide d’une surface raster de hauteur de référence. | Raster Layer |
excluded_class_codes [excluded_class_codes,...] | Codes de classe du nuage de points en entrée qui seront exclus des points traités pour détecter des objets. Si le modèle a été entraîné avec des points provenant de certains codes de classe ignorés, les points dans le nuage de points en entrée doivent avoir la même classe d’objets identifiés et exclus afin d’obtenir les meilleurs résultats. | Long |
Exemple de code
L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python.
import arcpy
arcpy.env.workspace = 'C:/data/detect_cars'
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel('2018_survey.lasd', 'cars.emd',
[(1, 0.7, 0.4)], 'Cars_in_Point_Cloud.shp',
10, 'study_area_boundary.shp',
'dem.tif', [2, 6, 7, 18])
Environnements
Vous avez un commentaire à formuler concernant cette rubrique ?