flattenImages
Description
L'action flattenImages du set d'actions Image est l'outil ultime pour transformer vos images multidimensionnelles en un format 'large' (wide formatStructure de données où chaque observation occupe une seule ligne, avec des variables distinctes en colonnes (ex: une colonne par date). Format privilégié pour l'entraînement de modèles SAS Viya.). Concrètement, elle prend chaque pixel de l'image et le place dans sa propre colonne. C'est l'étape indispensable avant de donner vos images à manger à des algorithmes de Machine LearningBranche de l'IA utilisant des algorithmes pour apprendre des modèles à partir de données. Il permet d'automatiser des prédictions ou des décisions sans programmation explicite de chaque règle. traditionnels (comme les régressions ou les forêts aléatoires) qui préfèrent les lignes de chiffres aux matrices complexes. C'est un peu comme si vous passiez votre photo préférée à la déchiqueteuse, mais de manière très organisée et réversible !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| casOut | Spécifie les paramètres de la table CAS de sortie qui contiendra les images aplaties. Chaque ligne correspondra à une image et chaque colonne à un pixel/canal. |
| table | Spécifie la table d'entrée contenant les images chargées en mémoire. Alias de 'images.table'. |
| width / height | Définissent les dimensions cibles pour l'aplatissement. L'action redimensionne automatiquement l'image à ces dimensions avant de créer les colonnes. |
| numberOfChannels | Définit si l'image doit être traitée en couleur (3 canaux) ou en niveaux de gris (1 canal) avant d'être aplatie. |
| groupChannels | Si activé, regroupe tous les pixels d'un canal ensemble (ex: tous les rouges, puis tous les verts, puis tous les bleus) plutôt que de les entrelacer par pixel. |
| copyVars | Liste des variables de la table d'origine à conserver dans la table aplatie (typiquement le chemin du fichier ou l'étiquette/label). |
Préparation des données
Chargement d'images pour aplatissement
Avant d'aplatir, il faut charger des images. Ici nous utilisons l'action loadImages pour préparer le terrain.
| 1 | PROC CAS; image.loadImages / path="/data/images/mnist/", casOut={name="imgs_data", replace=true}; RUN; |
Exemples d'utilisation
Aplatissement basique en niveaux de gris
On transforme les images en format 28x28 pixels en une seule ligne de 784 colonnes.
| 1 | PROC CAS; image.flattenImages / TABLE="imgs_data", casOut={name="flat_mnist", replace=true}, width=28, height=28, numberOfChannels="GRAY_SCALE_IMAGE"; RUN; |
Résultat Attendu :
Aplatissement expert avec regroupement de canaux et métadonnées
Dans cet exemple, on aplatit des images en 32x32 couleur, en regroupant les canaux (R, G, B séparés) et en gardant explicitement certaines colonnes d'origine.
| 1 | PROC CAS; image.flattenImages / TABLE={name="imgs_data"}, casOut={name="flat_color_imgs", replace=true}, width=32, height=32, numberOfChannels="COLOR_IMAGE", groupChannels=true, copyVars={"_path_", "_label_", "_id_"}; RUN; |