Analyser les changements avec l’algorithme CCDC (Image Analyst)

Disponible avec une licence Image Analyst.

Synthèse

Évalue les modifications dans les valeurs de pixels au fil du temps à l’aide de la méthode CCDC (Continuous Change Detection and Classification) et génère un raster d’analyse des changements contenant les résultats du modèle.

En savoir plus sur le fonctionnement de l’analyse des changements avec l’algorithme CCDC

Utilisation

  • L’algorithme CCDC (Continuous Change Detection and Classification) permet d’identifier les changements des valeurs de pixel au fil du temps. Développé à l’origine pour une série chronologique d’imagerie Landsat multibande, il sert à détecter les changements et à classer l’occupation du sol avant et après la modification. Vous pouvez utiliser cet outil avec des images issues de capteurs pris en charge, ainsi que pour détecter des changements sur des rasters monobandes. Par exemple, cet outil peut servir à détecter des changements dans une série temporelle de rasters NDVI, afin d’identifier les événements liés à la déforestation.

  • La sortie de cet outil se compose d’informations sur le modèle dans un raster d’analyse des changements, dans lequel chaque pixel stocke une suite d’informations sur le modèle qui décrit l’historique de ce pixel au fil du temps. Le raster d’analyse des changements est un raster multidimensionnel dans lequel chaque tranche correspond à un raster multicanal composé des coefficients de modèle, de l’erreur quadratique moyenne (EQM) et des changements observés. Il peut être utilisé en entrée pour l’outil Détecter les changements à l’aide du raster d’analyse des changements, qui génère un raster contenant des informations relatives aux changements pour chaque pixel.

    Le nombre de tranches en sortie correspond au nombre de tranches en entrée.

  • Le raster multidimensionnel en entrée doit comporter au moins 12 tranches, qui englobent au moins 1 année.

  • Cet outil a pour finalité d’extraire les changements survenus dans une entité observée, de sorte que l’imagerie multidimensionnelle en entrée idéale puisse capturer une observation cohérente au fil du temps et ne puisse pas inclure d’interférences atmosphériques ou liées au capteur, de nuages ou l’ombre des nuages. Une bonne pratique consiste à utiliser des données qui ont été normalisées et qui peuvent être masquées à l’aide d’une bande QA (les produits de réflectance de surface Landsat Collection 1 avec un masque de nuage, par exemple).

  • Pour explorer les changements calculés dans le raster d’analyse des changements en sortie, créez un diagramme de profil temporel. Générez des graphiques pour plusieurs emplacements dans le raster d’analyse des changements pour voir quand des changements se sont produits. Pour les pixels modifiés, le graphique affiche les interruptions où le modèle de régression adapté pour les valeurs de pixel au fil du temps a évolué vers un nouveau modèle, ce qui indique un changement. Vous pouvez faire glisser le pointeur sur les points du graphique pour identifier la date du changement de modèle.

  • Le raster d’analyse des changements en sortie peut également servir à la classification. Exécutez cet outil pour générer un raster d’analyse des changements. Créez ensuite des échantillons d’entraînement à l’aide d’un champ temporel pour indiquer l’heure à laquelle l’échantillon représente l’occupation du sol. Ensuite, exécutez un outil d’entraînement pour générer un fichier de définition de classificateur (.ecd). Enfin, exécutez l’outil Classer le raster avec le fichier .ecd et le raster d’analyse des changements en entrée pour générer un raster classé multidimensionnel.

  • Le paramètre Bands for Temporal Masking (Bandes pour le masquage temporel) spécifie les canaux à utiliser pour le masquage des nuages, de l’ombre des nuages et de la neige. L’ombre des nuages et la neige apparaissant très sombres dans le canal à onde courte infrarouge (SWIR) et les nuages et la neige étant très lumineux dans le canal vert, il est recommandé de masquer les index des canaux SWIR et vert.

  • Le paramètre Updating Fitting Frequency (in years) (Mise à jour de la fréquence de pertinence (en années)) définit la fréquence à laquelle le modèle de série chronologique est mis à jour avec les nouvelles observations. La mise à jour fréquente d’un modèle peut occasionner un grand nombre de calculs pour un avantage minimal. Si, par exemple, le raster multidimensionnel contient 365 tranches ou observations claires par an et que la fréquence de mise à jour concerne chacune de ces observations, le traitement demandera 365 fois plus de calculs qu’une mise à jour annuelle, sans pour autant que la précision ne soit supérieure.

  • L’exécution de cet outil peut prendre longtemps et le stockage des résultats peut nécessiter une grande quantité d’espace disque. Pour réduire le temps de traitement et la quantité d’espace de stockage requis, nous vous recommandons de procéder comme suit :

    • Désactivez l’environnement Pyramid (Pyramide). Décochez la case Construire des pyramides dans la fenêtre Environnement ou définissez l’environnement sur NONE dans Python.
    • Définissez l’environnement Compression sur LERC et le paramètre Erreur max sur 0,000001.
    • Si vous pensez exécuter plusieurs fois l’outil Détecter les changements à l’aide d’un raster d’analyse des changements sur la sortie de cet outil, il est recommandé de générer une transposition multidimensionnelle sur le résultat.

  • Cet outil génère un jeu de données raster multidimensionnelles au format CRF (Cloud Raster Format). Actuellement, aucun autre format de sortie n’est pris en charge.

Paramètres

ÉtiquetteExplicationType de données
Raster multidimensionnel en entrée

Jeu de données raster multidimensionnelles en entrée.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
Bandes pour la détection de changement
(Facultatif)

Identifiants de canal à utiliser pour la détection des changements. Si aucun identifiant de canal n’est fourni, tous les canaux du jeu de données de raster en entrée sont utilisés.

Long
Bandes pour le masquage temporel
(Facultatif)

Identifiants de bandes à utiliser dans le masque temporel (Tmask). Nous vous recommandons d’utiliser le canal vert et le canal SWIR. Si aucun identifiant de canal n’est fourni, aucun masquage ne se produit.

Long
Seuil du khi deux pour la détection des changements
(Facultatif)

Seuil de probabilité de changements de la statistique du khi carré. Si une observation a une probabilité de changements calculée au-delà de ce seuil, elle est indiquée comme anomalie, ce qui est un événement de changement potentiel. La valeur par défaut est 0,99.

Double
Observations des anomalies consécutives minimales
(Facultatif)

Nombre minimum des observations d’anomalies consécutives qui doivent survenir avant qu’un événement soit considéré comme un changement. Un pixel doit être indiqué comme une anomalie pour le nombre spécifié d’intervalles consécutifs avant qu’il soit considéré comme un véritable changement. La valeur par défaut est 6.

Long
Mise à jour de la fréquence de pertinence (en années)
(Facultatif)

Fréquence, en année, des mises à jour du modèle de séries chronologiques avec de nouvelles observations. La valeur par défaut est 1.

Double

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster d’analyse CCDC en sortie

Jeu de données raster multidimensionnelles CRF (Cloud Raster Format) en sortie.

Raster d’analyse des changements en sortie contenant les informations de modèle issues de l’analyse CCDC.

Raster

AnalyzeChangesUsingCCDC(in_multidimensional_raster, {bands}, {tmask_bands}, {chi_squared_threshold}, {min_anomaly_observations}, {update_frequency})
NomExplicationType de données
in_multidimensional_raster

Jeu de données raster multidimensionnelles en entrée.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
bands
[bands,...]
(Facultatif)

Identifiants de canal à utiliser pour la détection des changements. Si aucun identifiant de canal n’est fourni, tous les canaux du jeu de données de raster en entrée sont utilisés.

Long
tmask_bands
[tmask_bands,...]
(Facultatif)

Identifiants de bandes à utiliser dans le masque temporel (Tmask). Nous vous recommandons d’utiliser le canal vert et le canal SWIR. Si aucun identifiant de canal n’est fourni, aucun masquage ne se produit.

Long
chi_squared_threshold
(Facultatif)

Seuil de probabilité de changements de la statistique du khi carré. Si une observation a une probabilité de changements calculée au-delà de ce seuil, elle est indiquée comme anomalie, ce qui est un événement de changement potentiel. La valeur par défaut est 0,99.

Double
min_anomaly_observations
(Facultatif)

Nombre minimum des observations d’anomalies consécutives qui doivent survenir avant qu’un événement soit considéré comme un changement. Un pixel doit être indiqué comme une anomalie pour le nombre spécifié d’intervalles consécutifs avant qu’il soit considéré comme un véritable changement. La valeur par défaut est 6.

Long
update_frequency
(Facultatif)

Fréquence, en année, des mises à jour du modèle de séries chronologiques avec de nouvelles observations. La valeur par défaut est 1.

Double

Valeur renvoyée

NomExplicationType de données
out_ccdc_result

Jeu de données raster multidimensionnelles CRF (Cloud Raster Format) en sortie.

Raster d’analyse des changements en sortie contenant les informations de modèle issues de l’analyse CCDC.

Raster

Exemple de code

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

Dans cet exemple, la détection des changements est effectuée en continu sur 30 années de rasters NDVI mensuels. Une seule bande est utilisée dans la détection des changements et le seuil de probabilité du khi carré est de 0,90.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")


changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingCCDC(
	"Monthly_NDVI_30_years.crf", [0], [], 0.90, 6, 1); 

# Save output
changeAnalysisRaster.save(r"C:\data\NDVI_ChangeAnalysis.crf")
Exemple 2 d’utilisation de la fonction AnalyzeChangesUsingCCDC (script autonome)

Dans cet exemple, la détection de changement est effectuée en continu sur une série chronologique d’images Landsat 7, avec les bandes 3 et 7 (indexées à 2 et 6) utilisées pour le masquage de la neige, des nuages et de l’ombre des nuages.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters
in_multidimensional = r"C:\data\Landsat_time_series.crf"
change_bands = [0,1,2,3,4,5,6]
tmask_bands = [2,6]
chi_sq_threshold = 0.99
min_consecutive_observations = 3
update_frequency = 1

# Execute
changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingCCDC(
	in_multidimensional, change_bands, tmask_bands, chi_sq_threshold, 
	min_consecutive_observations, update_frequency) 

# Save output
changeAnalysisRaster.save(r"C:\data\Landsat_ChangeAnalysis.crf")

Informations de licence

  • Basic: Nécessite Image Analyst
  • Standard: Nécessite Image Analyst
  • Advanced: Nécessite Image Analyst

Rubriques connexes