image

extractDetectedObjects

Description

L'action extractDetectedObjects extrait les objets détectés à partir des données d'image. Elle utilise les coordonnées fournies (boîtes englobantes) pour soit rogner les images (CROP) afin d'isoler les objets, soit dessiner des rectangles autour d'eux (HIGHLIGHT). Elle prend en charge plusieurs formats de coordonnées (RECT, COCO, YOLO) et permet de structurer les résultats en lignes ou en colonnes multiples.

Paramètres
ParamètreDescription
tableSpécifie la table d'entrée contenant les images et les données de détection.
casOutSpécifie les paramètres de la table de sortie qui contiendra les résultats.
coordTypeSpécifie le format des coordonnées des boîtes englobantes (RECT, COCO, YOLO). La valeur par défaut est RECT.
extractTypeSpécifie l'action à effectuer : 'CROP' (rogner l'objet) ou 'HIGHLIGHT' (mettre l'objet en surbrillance). La valeur par défaut est HIGHLIGHT.
outputFormatDéfinit le format de sortie : 'MULTIPLE_COLUMNS' (une ligne par image, colonnes multiples) ou 'MULTIPLE_ROWS' (une ligne par objet détecté). La valeur par défaut est MULTIPLE_ROWS.
maxObjectsSpécifie le nombre maximum d'objets détectés à extraire de chaque image. La valeur par défaut est 10.
decodeSi défini à True, écrit les images décodées et les métadonnées dans la table de sortie. La valeur par défaut est FALSE.
imageSpécifie le nom de la colonne contenant les binaires de l'image. La valeur par défaut est '_image_'.
copyVarsSpécifie les variables de la table d'entrée à copier dans la table de sortie.
Préparation des Données Voir la fiche de ce code dataprep
Création des données de test

Charge une image et simule des données de détection (coordonnées) pour l'exemple.

Copié !
1PROC CAS;
2 image.loadImages / path="path/to/images" casout={name="images", replace=true};
3 DATA casuser.detections; SET casuser.images;
4 _nObjects_ = 1;
5 _Object0_ = 1;
6 _Object0_x = 10; _Object0_y = 10; _Object0_width = 50; _Object0_height = 50;
7 RUN;

Exemples

Dessine un rectangle autour des objets détectés en utilisant le format de coordonnées par défaut (RECT).

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3 
4image.extractDetectedObjects / TABLE={name="detections"} casOut={name="highlighted", replace=true} extractType="HIGHLIGHT";
5 
6 
7RUN;
8 
Résultat :
Une table 'highlighted' contenant les images avec les rectangles dessinés.

Rogne les images pour isoler chaque objet détecté, stocke chaque objet dans une nouvelle ligne, décode les images résultantes et limite l'extraction aux 5 premiers objets.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3 
4image.extractDetectedObjects / TABLE={name="detections"} casOut={name="cropped_objects", replace=true} extractType="CROP" outputFormat="MULTIPLE_ROWS" maxObjects=5 decode=true;
5 
6 
7RUN;
8 
Résultat :
Une table 'cropped_objects' contenant une ligne pour chaque objet extrait (rogné), avec les données d'image décodées.

FAQ

Quel est l'objectif principal de l'action extractDetectedObjects ?
Quels sont les types de formats de coordonnées pris en charge pour les boîtes englobantes (bounding boxes) ?
Comment peut-on choisir entre le recadrage et la mise en évidence des objets détectés ?
Comment limiter le nombre d'objets extraits pour chaque image ?
Quelles sont les options pour structurer la table de sortie ?
À quoi sert le paramètre 'decode' ?