image augmentImages

Großflächige Patch-Extraktion aus Satellitenbildern zur Landnutzungsklassifizierung

Scénario de test & Cas d'usage

Geschäftskontext

Ein Geoinformationsunternehmen analysiert hochauflösende Satellitenbilder, um Landflächen (z.B. Wald, Wasser, Stadtgebiet) zu klassifizieren. Da die Originalbilder sehr groß sind, müssen Tausende von kleineren, repräsentativen Patches (Ausschnitten) effizient extrahiert werden. Dieses Szenario testet die Leistung der Aktion beim Durchsuchen großer Bilder (`sweepImage`) und beim Erzeugen einer großen Anzahl von Patches.
Über das Set : image

Bildverarbeitung, -manipulation und -analyse.

Entdecken Sie alle Aktionen von image
Datenaufbereitung

Erstellt eine simulierte Tabelle `satellite_images_large` mit zwei sehr großen 'Bildern' (repräsentiert durch lange Hex-Strings), um die Verarbeitung von voluminösen Daten zu testen.

Kopiert!
1DATA casuser.satellite_images_large(caslib='casuser' replace=true);
2 LENGTH _image_ binary(64) region_id $10;
3 INFILE DATALINES dlm='|';
4 INPUT region_id $ _image_ $hex128.;
5 DATALINES;
6 REGION_A|89504E470D0A1A0A0000000D494844520000040000000300080600000072B60D28000000097048597300000B1300000B1301009A9C18000020004944415478DAEC9D01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101-urban
7 ;
8 RUN;

Étapes de réalisation

1
Anwenden von `sweepImage`, um überlappende 256x256-Patches aus den großen Bildern zu extrahieren. Die Ausgabe wird zufällig geschrieben, um die Daten für das Training zu mischen.
Kopiert!
1PROC CAS;
2 image.augmentImages /
3 TABLE={name='satellite_images_large', caslib='casuser'}
4 casOut={name='satellite_patches', caslib='casuser', replace=true}
5 writeRandomly=true
6 seed=42
7 copyVars={'region_id'}
8 image='_image_'
9 augmentations={{
10 sweepImage=true,
11 width=256,
12 height=256,
13 stepSize=128,
14 mutations={
15 horizontalFlip=true
16 }
17 }};
18 RUN;
19 QUIT;

Erwartetes Ergebnis


Die Aktion verarbeitet die großen Eingabebilder effizient und erzeugt eine Ausgabetabelle `satellite_patches`, die eine große Anzahl von 256x256-Pixel-Patches enthält. Die Patches werden mit einer Überlappung von 50% extrahiert, und die Ausgabezeilen sind zufällig angeordnet. Dies stellt sicher, dass das System große Datenmengen verarbeiten und für das Training vorbereiten kann.