Augmentation de données
Améliorez vos modèles d'apprentissage automatique grâce à l'augmentation des données. Découvrez des techniques pour améliorer la précision, réduire le surapprentissage et améliorer la robustesse.
L'augmentation des données est une technique stratégique
l'apprentissage machine (ML) utilisée pour
d'augmenter artificiellement la taille et la diversité d'un
ensemble de données d'apprentissage sans qu'il soit nécessaire de
de collecter de nouvelles données brutes. En appliquant diverses transformations aux échantillons de données existants, les développeurs peuvent créer des versions modifiées mais réalistes d'images, de textes ou de sons.
mais réalistes d'images, de textes ou de sons. Ce processus est essentiel pour réduire les
surajustementun problème courant où un modèle mémorise les exemples d'apprentissage au lieu d'apprendre des modèles généralisables.
En fin de compte, une augmentation efficace permet d'améliorer la qualité de l'information.
précision et garantit que le modèle
performant lorsqu'il est exposé à des données inédites dans des environnements réels.
Techniques et méthodes de base
Dans le domaine de la
vision par ordinateur (VA)l'augmentation consiste à manipuler les images d'entrée pour simuler différentes conditions. Ces transformations aident le modèle à devenir invariant aux changements d'orientation, d'éclairage et d'échelle.
Ces transformations aident le modèle à devenir invariant aux changements d'orientation, d'éclairage et d'échelle.
-
Transformations géométriques : Elles modifient la disposition spatiale d'une image. Les opérations les plus courantes sont les suivantes
la rotation aléatoire, le retournement horizontal, le recadrage et la mise à l'échelle. Par exemple, en utilisant
transformations géométriquesOpenCV
permet à un modèle de reconnaître un objet, qu'il soit à l'envers ou incliné.
-
Transformations photométriques : Elles ajustent les valeurs des pixels pour modifier l'apparence visuelle sans changer la géométrie.
sans modifier la géométrie. L'ajustement de la luminosité, du contraste, de la saturation et l'ajout de
bruit gaussien aide le modèle à gérer des conditions d'éclairage
des conditions d'éclairage variables.
-
Mélange avancé : Moderne
détection d'objets modernes de détection d'objets
utilisent souvent des techniques complexes telles que Mosaic, MixUp et CutMix. Ces méthodes combinent plusieurs images en un seul
échantillon d'entraînement, encourageant le modèle à apprendre les relations contextuelles. Vous pouvez explorer la manière de les mettre en œuvre via
l'outil
Intégration d'Ultralytics Albumentations.
Applications concrètes
L'augmentation des données est indispensable dans les secteurs où les données de haute qualité sont rares ou coûteuses à obtenir.
-
Imagerie médicale : En
analyse d'images médicalesLa taille des ensembles de données est limitée par les lois sur la protection de la vie privée et la rareté de certaines pathologies. En ajoutant des rotations et des déformations élastiques aux radiographies ou aux IRM, les chercheurs peuvent former des modèles robustes pour l'analyse des images médicales.
des rotations et des déformations élastiques, les chercheurs peuvent former des modèles robustes pour l'analyse des images médicales.
détection des tumeursEn ajoutant des rotations et des déformations élastiques aux radiographies ou aux IRM, les chercheurs peuvent former des modèles robustes pour la détection des tumeurs.
-
Conduite autonome : Les voitures autonomes doivent naviguer dans des environnements imprévisibles. Il est impossible de collecter des données
toutes les conditions météorologiques possibles est impossible. Les ingénieurs utilisent l'augmentation pour simuler des scénarios de pluie, de brouillard ou de faible luminosité sur des images de jour.
ou des scénarios de faible luminosité sur des séquences filmées par temps clair. Cela permet de préparer
véhicules autonomes à réagir
de réagir en toute sécurité par mauvais temps, ce qui améliore considérablement les normes de sécurité décrites par des organisations telles que l'Organisation mondiale de la santé (OMS).
NHTSA.
Mise en œuvre de l'augmentation dans Ultralytics YOLO
Le ultralytics simplifie l'application des augmentations directement au sein de l'application
entraînement du modèle pipeline. Vous pouvez ajuster les
hyperparamètres pour contrôler l'intensité et la probabilité des transformations.
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model with custom data augmentation parameters
# These arguments modify the training data on-the-fly
model.train(
data="coco8.yaml",
epochs=5,
degrees=30.0, # Apply random rotations between -30 and +30 degrees
fliplr=0.5, # 50% probability of flipping images horizontally
mosaic=1.0, # Use Mosaic augmentation (combining 4 images)
mixup=0.1, # Apply MixUp augmentation with 10% probability
)
Distinguer les concepts apparentés
Il est important de différencier l'augmentation des données des stratégies de données similaires :
-
vs. données synthétiques : L'augmentation modifie les données existantes du monde réel,
données synthétiques sont générées
entièrement à partir de zéro à l'aide de simulations informatiques ou de
IA générative. L'augmentation ajoute de la variété à ce que vous avez ; les données synthétiques créent ce que vous n'avez pas.
-
vs. le prétraitement des données :
Le prétraitement des données implique
le nettoyage et le formatage des données (par exemple, redimensionnement, normalisation) pour les adapter à un modèle. L'augmentation intervient
après le prétraitement et se concentre sur l'élargissement de la diversité de l'ensemble de données plutôt que sur son format.
-
vs. l'apprentissage par transfert :
L'apprentissage par transfert exploite
connaissances d'un modèle pré-entraîné (par exemple, formé sur un modèle
ImageNet) pour résoudre une nouvelle tâche. Bien qu'il soit souvent utilisé conjointement, l'apprentissage par transfert se rapporte aux poids du modèle, tandis que l'augmentation se rapporte aux données d'entrée.
concerne les données d'entrée.
Pour en savoir plus sur les bibliothèques d'augmentation modernes, consultez la rubrique
documentation Albumentations fournit une liste exhaustive des
des transformations disponibles compatibles avec PyTorch et YOLO11.