Data Augmentation
Découvre comment l’augmentation des données améliore la robustesse des modèles et réduit le surapprentissage. Apprends les principales techniques pour améliorer les performances d’Ultralytics YOLO26 en vision par ordinateur.
L’augmentation des données est une technique essentielle en apprentissage automatique et en vision par ordinateur. Elle sert à accroître artificiellement la taille et la diversité d’un jeu de données d’entraînement en créant des versions modifiées des données existantes. Plutôt que de collecter et d’annoter des données entièrement nouvelles — ce qui peut prendre beaucoup de temps et coûter cher —, l’augmentation applique différentes transformations aux échantillons d’origine. Ces modifications aident les modèles d’apprentissage automatique à apprendre à reconnaître les motifs de manière plus robuste, afin qu’ils restent performants même lorsqu’ils rencontrent des variations dans des environnements réels. En exposant les modèles à un éventail plus large de scénarios pendant l’entraînement, les développeurs peuvent réduire efficacement le surapprentissage et améliorer la généralisation.
Pertinence dans l’IA moderne#
Dans le domaine de la vision par ordinateur, les modèles rencontrent souvent des difficultés lorsqu’ils sont confrontés à des images qui diffèrent légèrement de leurs données d’entraînement. Des variations d’éclairage, d’orientation ou d’encombrement de l’arrière-plan peuvent perturber un modèle qui n’a pas été exposé à une diversité suffisante. L’augmentation des données répond à ce problème en simulant ces variations par programmation. Par exemple, une image de chat peut être tournée, inversée ou légèrement floutée afin d’apprendre au modèle que le sujet reste un « chat » quels que soient ces changements.
Ce processus est essentiel à la réussite d’architectures modernes comme Ultralytics YOLO26, qui s’appuie sur des jeux de données riches et variés pour atteindre une grande précision dans des tâches telles que la détection d’objets et la segmentation d’images. En synthétisant de nouveaux exemples d’entraînement, l’augmentation permet aux modèles d’apprendre des caractéristiques invariantes, c’est-à-dire des caractéristiques qui ne changent pas malgré les modifications apportées aux entrées.
Techniques et méthodes courantes#
L’augmentation des données englobe un large éventail de techniques de transformation, allant de simples ajustements géométriques à des approches génératives complexes :
- Transformations géométriques : elles comprennent des opérations telles que la rotation, la mise à l’échelle, l’inversion, le recadrage et la translation (le décalage) des images. Elles représentent des changements du point de vue de la caméra ou de la position de l’objet.
- Ajustements de l’espace colorimétrique : la modification de la luminosité, du contraste, de la saturation et de la teinte aide les modèles à gérer différentes conditions d’éclairage ou différents capteurs d’appareil photo.
- Injection de bruit : l’ajout de bruit aléatoire (tel que du bruit gaussien) peut rendre les modèles plus résistants aux données d’entrée granuleuses ou de faible qualité.
- Mélange d’images : des techniques comme MixUp ou Mosaic (courantes lors de l’entraînement de YOLO) combinent plusieurs images en un seul échantillon d’entraînement, obligeant le modèle à apprendre plus efficacement le contexte et les relations entre les objets.
- Approches génératives : les méthodes avancées utilisent l’IA générative ou les modèles de diffusion pour créer des échantillons d’entraînement synthétiques entièrement nouveaux qui reproduisent les caractéristiques du jeu de données d’origine.
Applications concrètes#
L’impact pratique de l’augmentation des données s’étend à de nombreux secteurs où la rareté des données ou leur grande variabilité représente un défi.
Conduite autonome#
Dans le développement de véhicules autonomes, il est presque impossible de collecter des données pour chaque condition météorologique ou scénario d’éclairage possible. Les ingénieurs utilisent l’augmentation des données pour simuler la pluie, le brouillard, la neige ou l’éblouissement sur des images prises par temps clair. Cela garantit que le système de perception peut détecter de manière fiable les piétons, les panneaux de signalisation et les autres véhicules, quels que soient les facteurs environnementaux, ce qui améliore la sécurité et la fiabilité.
Imagerie médicale#
L’analyse d’images médicales souffre souvent de jeux de données limités en raison des préoccupations liées à la confidentialité et de la rareté de certaines pathologies. L’augmentation permet aux chercheurs d’enrichir de petits jeux de données de radiographies ou d’IRM en appliquant des déformations élastiques, des rotations ou des variations d’intensité. Cela contribue à entraîner des modèles de diagnostic robustes, capables d’identifier des tumeurs ou des fractures avec une grande sensibilité, même lorsque la position du patient ou la qualité de l’examen varie.
Distinction entre concepts connexes#
Il est important de distinguer l’augmentation des données des données synthétiques. Alors que les deux visent à accroître la taille d’un jeu de données, les données synthétiques sont générées artificiellement à partir de zéro (souvent à l’aide du rendu 3D ou de moteurs de simulation), tandis que l’augmentation des données modifie des données réelles existantes. En outre, le prétraitement des données consiste à nettoyer et à formater les données (par exemple, redimensionnement, normalisation) afin de les rendre adaptées à un modèle, mais contrairement à l’augmentation, il n’accroît pas nécessairement le nombre d’échantillons d’entraînement.
Implémenter l’augmentation avec Ultralytics#
Les frameworks modernes intègrent directement l’augmentation dans le pipeline d’entraînement. L’exemple ci-dessous montre comment appliquer des augmentations telles que l’inversion et la mise à l’échelle pendant l’entraînement d’un modèle Ultralytics YOLO26 à l’aide du package ultralytics.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Train with custom data augmentation hyperparameters
# fliplr: 50% chance of horizontal flip, scale: image scaling gain
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.5)En ajustant ces hyperparamètres, les développeurs peuvent adapter la stratégie d’augmentation aux besoins spécifiques de leur jeu de données et de leur application, en tirant parti de la flexibilité de la Ultralytics Platform pour développer efficacement des modèles.









