augmentImages
Description
L'action augmentImages est l'outil ultime pour multiplier vos données d'entraînement sans avoir à reprendre des milliers de photos. Elle permet de générer des variantes d'images en extrayant des portions spécifiques (patches) et en leur appliquant des mutations comme des rotations, des retournements (flips), ou des ajustements de luminosité. C'est un passage obligé pour tout projet de Computer VisionDiscipline de l'IA permettant aux systèmes d'extraire des informations significatives à partir d'images ou de vidéos pour identifier, classer et réagir à des éléments visuels du monde réel. sérieux sur SAS Viya qui veut éviter le surapprentissage (overfittingSurapprentissage d'un modèle mémorisant le bruit des données d'entraînement au lieu des tendances, réduisant ainsi sa capacité de généralisation et sa précision sur de nouvelles observations.). Si votre modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). ne reconnaît pas un chat après avoir été entraîné avec des images augmentées, c'est probablement qu'il préfère les chiens !
Paramètres Clés
Préparation des données
Chargement d'images pour augmentation
Avant d'augmenter, il faut charger des images. Voici comment charger un répertoire d'images dans une table CAS.
| 1 | PROC CAS; |
| 2 | image.loadImages / |
| 3 | path="/data/images/entrainement", |
| 4 | casOut={name="images_entree", replace=true}; |
| 5 | RUN; |
Exemples d'utilisation
Augmentation basique (Flip Horizontal)
Cet exemple crée une copie de chaque image en lui appliquant un retournement horizontal.
| 1 | PROC CAS; |
| 2 | image.augmentImages / |
| 3 | TABLE={name="images_entree"} |
| 4 | augmentations={{useWholeImage=true, mutations={horizontalFlip=true}}} |
| 5 | casOut={name="images_augmentees", replace=true}; |
| 6 | RUN; |
Résultat Attendu :
Augmentation complexe avec Patches et Mutations multiples
On extrait des patches de 224x224 pixels, on applique des rotations, un flip et un changement de luminosité (lighten) avec une valeur fixe.
| 1 | PROC CAS; |
| 2 | image.augmentImages / |
| 3 | TABLE={name="images_entree"} |
| 4 | addColumns={augmentAttributes={"PATCH_X", "PATCH_Y"}} |
| 5 | augmentations={ |
| 6 | { |
| 7 | width=224, height=224, x=0, y=0, |
| 8 | mutations={ |
| 9 | horizontalFlip=true, |
| 10 | rotateLeft={type="CONSTANT", value=15}, |
| 11 | lighten={type="CONSTANT", value=20} |
| 12 | } |
| 13 | } |
| 14 | } |
| 15 | decode=true |
| 16 | seed=123 |
| 17 | casOut={name="images_finales", replace=true}; |
| 18 | RUN; |