Détecter des objets à partir du nuage de points à l’aide du modèle entraîné (3D Analyst)

Synthèse

Détecte les objets capturés dans un nuage de points à l’aide d’un modèle de Deep Learning.

Illustration

Illustration de l’outil Détecter des objets à partir du nuage de points à l’aide du modèle entraîné

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 Pro, 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

ÉtiquetteExplicationType 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.

  • Code d’objet : codes représentant les objets que le modèle a été entraîné à identifier.
  • Confiance : le seuil de confiance pour la reconnaissance des objets fonctionne sur une échelle allant de 0,0 à 1,0. Une valeur plus élevée indique que moins d’objets rempliront les critères d’identification positive. Configurer le seuil sur 1,0 exige une certitude de 100 pour cent dans la détection d’objets, ce qui rend tout à fait improbable la reconnaissance effective des objets. Si vous voulez exclure un objet en particulier de la sortie, définissez son seuil de confiance sur 1,0.
  • Superposition : le seuil de superposition permet de sélectionner l’objet qui sera conservé lorsque plusieurs objets superposés ont été identifiés. Le seuil de superposition décrit le ratio entre l’intersection et l’union des emprises superposées. Lorsque plusieurs objets sont superposés et dépassent le seuil de superposition, l’objet avec la confiance la plus élevée est conservé.

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

arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, target_objects, out_features, {batch_size}, boundary, reference_height, excluded_class_codes)
NomExplicationType 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.

  • Code d’objet : codes représentant les objets que le modèle a été entraîné à identifier.
  • Confiance : le seuil de confiance pour la reconnaissance des objets fonctionne sur une échelle allant de 0,0 à 1,0. Une valeur plus élevée indique que moins d’objets rempliront les critères d’identification positive. Configurer le seuil sur 1,0 exige une certitude de 100 pour cent dans la détection d’objets, ce qui rend tout à fait improbable la reconnaissance effective des objets. Si vous voulez exclure un objet en particulier de la sortie, définissez son seuil de confiance sur 1,0.
  • Superposition : le seuil de superposition permet de sélectionner l’objet qui sera conservé lorsque plusieurs objets superposés ont été identifiés. Le seuil de superposition décrit le ratio entre l’intersection et l’union des emprises superposées. Lorsque plusieurs objets sont superposés et dépassent le seuil de superposition, l’objet avec la confiance la plus élevée est conservé.

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

Exemple d’utilisation de la fonction DetectObjectsFromPointCloudUsingTrainedModel (fenêtre Python)

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])

Informations de licence

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