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

Disponible avec une licence Image Analyst.

Synthèse

Évaluer les changements des valeurs de pixels au fil du temps à l’aide de la méthode CCDC (Continuous Change Detection and Classification) et générer 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.

  • Cet outil a pour sortie des informations de modèle dans un raster d’analyse des changements dans lequel chaque pixel stocke un ensemble d’informations de modèle décrivant l’historique du pixel au fil du temps. Le raster d’analyse des changements est un raster multidimensionnel dans lequel chaque tranche est un raster multibande composé des coefficients de modèle, de l’erreur quadratique moyenne (EQM) et des changements observés. Il peut être utilisé comme entrée pour l’outil Détecter les modifications à l’aide du raster d’analyse des changements, ce qui génère un raster contenant des informations sur les changements pour chaque pixel.

    Le nombre de tranches dans la sortie correspond au nombre de tranches dans l’entrée.

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

  • Cet outil extrait les changements survenus pour 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. Il est préférable d’utiliser des données normalisées et pouvant être masquées à l’aide d’une bande d’assurance qualité (QA), comme les produits de réflectance de surface Landsat Collection 1 avec un masque de nuage.

  • 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 diverses localisations dans le raster d’analyse des changements pour voir à quels moments des changements ont eu lieu. Pour les pixels ayant changé, le graphique présentera des interruptions là où le modèle de régression ajusté des valeurs de pixel au fil du temps a évolué vers un nouveau modèle, indiquant un changement. Vous pouvez passer le pointeur de la souris sur les points du graphique pour identifier la date à laquelle le modèle a changé.

  • 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 Bandes pour le masquage temporel spécifie les bandes à 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 la bande infrarouge à ondes courtes (SWIR), et les nuages et la neige étant très lumineux dans la bande verte, il est recommandé de masquer les indices de bande des bandes SWIR et vertes.

  • Le paramètre Mise à jour de la fréquence d’ajustement (en années) définit la fréquence à laquelle le modèle de série chronologique est mis à jour avec de nouvelles observations. La mise à jour fréquente d’un modèle peut occasionner un grand nombre de calculs pour un avantage minimal. Par exemple, si le raster multidimensionnel contient 365 tranches ou observations nettes par an et que la fréquence de mise à jour est définie pour chaque observation, le traitement demandera 365 fois plus de ressources informatiques 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 crée un jeu de données raster multidimensionnel au format Cloud Raster Format (CRF). Actuellement, aucun autre format en sortie n’est pris en charge.

Paramètres

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

Jeu de données raster multidimensionnel 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 multidimensionnel 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 multidimensionnel 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 multidimensionnel 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")