image compareImages

Détection de changement de terrain à grande échelle

Scénario de test & Cas d'usage

Contexte Métier

Une agence environnementale surveille la déforestation. Elle possède des milliers d'images satellites 'Avant' (Référence) et 'Après' (Source). Le volume est important. Il est crucial de ne comparer que les images correspondant aux mêmes coordonnées géographiques (Zone ID) pour éviter un produit cartésien inutile qui exploserait la mémoire. On utilise la méthode PSNR pour mesurer le 'bruit' (le changement).
À propos du Set : image

Traitement, manipulation et analyse d'images.

Découvrir toutes les actions de image
Préparation des Données

Génération massive de métadonnées pour 10 000 zones géographiques. Les tables ne contiennent que les chemins et les IDs de zone pour tester la logique d'appariement.

Copié !
1 
2DATA casuser.geo_before;
3LENGTH zone_id $10 _path_ $100;
4DO i=1 to 10000;
5zone_id=cats('ZONE_', i);
6_path_=cats('/sat/2023/', zone_id, '.jpg');
7OUTPUT;
8END;
9 
10RUN;
11 
12DATA casuser.geo_after;
13LENGTH zone_id $10 _path_ $100;
14DO i=1 to 10000;
15zone_id=cats('ZONE_', i);
16_path_=cats('/sat/2024/', zone_id, '.jpg');
17OUTPUT;
18END;
19 
20RUN;
21 

Étapes de réalisation

1
Exécution de la comparaison optimisée par clé de jointure (Zone ID).
Copié !
1 
2PROC CAS;
3image.compareImages / sourceImages={TABLE={name='geo_after', caslib='casuser'}} pairSourceOn='zone_id' referenceImages={TABLE={name='geo_before', caslib='casuser'}} pairReferenceOn='zone_id' pairOnPath=false method='PSNR' casOut={name='alertes_deforestation', caslib='casuser', replace=true};
4 
5RUN;
6 

Résultat Attendu


L'action doit s'exécuter rapidement sans faire de produit cartésien (10k x 10k comparaisons). Elle doit produire exactement 10 000 résultats, appariés strictement sur 'zone_id'. Les scores PSNR bas indiqueront les zones ayant subi de forts changements visuels.