Skip to content

Améliorez votre ensemble de données pour former YOLO11 à l'aide d'Albumentations

Lorsque vous construisez des modèles de vision par ordinateur, la qualité et la variété de vos données d'entraînement peuvent jouer un rôle important dans la performance de votre modèle. Albumentations offre un moyen rapide, flexible et efficace d'appliquer une large gamme de transformations d'images qui peuvent améliorer la capacité de votre modèle à s'adapter aux scénarios du monde réel. Il s'intègre facilement à Ultralytics YOLO11 et peut vous aider à créer des ensembles de données robustes pour la détection d'objets, la segmentation et les tâches de classification.

En utilisant Albumentations, vous pouvez augmenter vos données de formation YOLO11 avec des techniques telles que les transformations géométriques et les ajustements de couleur. Dans cet article, nous verrons comment Albumentations peut améliorer votre processus d'augmentation des données et rendre vos projetsYOLO11 encore plus percutants. C'est parti !

Albumentations pour l'amélioration des images

Albumentations est une bibliothèque d'augmentation d'images open-source créée en juin 2018. Elle est conçue pour simplifier et accélérer le processus d'augmentation d'image en vision par ordinateur. Créée dans un souci de performance et de flexibilité, elle prend en charge de nombreuses techniques d'augmentation diverses, allant de transformations simples comme les rotations et les retournements à des ajustements plus complexes comme les changements de luminosité et de contraste. Albumentations aide les développeurs à générer des ensembles de données riches et variés pour des tâches telles que la classification d'images, la détection d'objets et la segmentation.

Vous pouvez utiliser Albumentations pour appliquer facilement des augmentations aux images, aux masques de segmentation, aux boîtes de délimitation et aux points clés, et vous assurer que tous les éléments de votre jeu de données sont transformés ensemble. Albumentations fonctionne de manière transparente avec les frameworks d'apprentissage profond les plus répandus, tels que PyTorch et TensorFlowce qui le rend accessible à un large éventail de projets.

Albumentations est également une excellente option pour l'augmentation, que vous traitiez de petits ensembles de données ou des tâches de vision par ordinateur à grande échelle. Il garantit un traitement rapide et efficace, réduisant le temps consacré à la préparation des données. En même temps, il contribue à améliorer les performances des modèles, ce qui les rend plus efficaces dans les applications du monde réel.

Caractéristiques principales des Albumentations

Albumentations offre de nombreuses fonctionnalités utiles qui simplifient les augmentations d'images complexes pour une large gamme d'applications de vision par ordinateur. Voici quelques-unes de ces fonctionnalités :

  • Large gamme de transformations: Albumentations propose plus de 70 transformations diffĂ©rentes, y compris des changements gĂ©omĂ©triques (par exemple, rotation, retournement), des ajustements de couleur (par exemple, luminositĂ©, contraste) et l'ajout de bruit (par exemple, bruit gaussien). La multiplicitĂ© des options permet de crĂ©er des ensembles de donnĂ©es d'entraĂ®nement très diversifiĂ©s et robustes.

Exemple d'augmentations d'images

  • Optimisation de haute performance: Construit sur OpenCV et NumPy, Albumentations utilise des techniques d'optimisation avancĂ©es telles que SIMD (Single Instruction, Multiple Data), qui traite plusieurs points de donnĂ©es simultanĂ©ment afin d'accĂ©lĂ©rer le traitement. Il traite rapidement de grands ensembles de donnĂ©es, ce qui en fait l'une des options les plus rapides disponibles pour l'augmentation d'images.

  • Trois niveaux d'augmentation: Albumentations prend en charge trois niveaux d'augmentation : les transformations au niveau des pixels, les transformations au niveau de l'espace et les transformations au niveau du mĂ©lange. Les transformations au niveau du pixel n'affectent que les images d'entrĂ©e sans modifier les masques, les boĂ®tes de dĂ©limitation ou les points clĂ©s. En revanche, l'image et ses Ă©lĂ©ments, tels que les masques et les boĂ®tes de dĂ©limitation, sont transformĂ©s Ă  l'aide de transformations au niveau de l'espace. En outre, les transformations au niveau du mĂ©lange constituent un moyen unique d'augmenter les donnĂ©es en combinant plusieurs images en une seule.

Aperçu des différents niveaux d'augmentation

  • RĂ©sultats de l'Ă©valuation comparative: Lorsqu'il s'agit d'effectuer des analyses comparatives, Albumentations surpasse systĂ©matiquement les autres bibliothèques, en particulier avec les grands ensembles de donnĂ©es.

Pourquoi faire appel Ă  Albumentations pour vos projets d'IA de la vision ?

En ce qui concerne l'augmentation d'images, Albumentations se distingue comme un outil fiable pour les tâches de vision par ordinateur. Voici quelques raisons pour lesquelles vous devriez envisager de l'utiliser pour vos projets de vision artificielle :

  • API facile Ă  utiliser: Albumentations propose une API unique et simple pour appliquer une large gamme d'augmentations aux images, aux masques, aux boĂ®tes de dĂ©limitation et aux points clĂ©s. Elle est conçue pour s'adapter facilement Ă  diffĂ©rents ensembles de donnĂ©es, ce qui rend la prĂ©paration des donnĂ©es plus simple et plus efficace.

  • Test rigoureux des bogues: Les bogues dans le pipeline d'augmentation peuvent corrompre silencieusement les donnĂ©es d'entrĂ©e, passant souvent inaperçus mais dĂ©gradant finalement les performances du modèle. Albumentations s'attaque Ă  ce problème grâce Ă  une suite de tests complète qui permet de dĂ©tecter les bogues dès le dĂ©but du dĂ©veloppement.

  • ExtensibilitĂ©: Les albumentations peuvent ĂŞtre utilisĂ©es pour ajouter facilement de nouvelles augmentations et les utiliser dans des pipelines de vision par ordinateur au moyen d'une interface unique et de transformations intĂ©grĂ©es.

Comment utiliser les albumentations pour enrichir les données de la formation YOLO11

Maintenant que nous avons vu ce qu'est Albumentations et ce qu'il peut faire, voyons comment l'utiliser pour augmenter vos données pour l'entraînement au modèle YOLO11 . Il est facile à mettre en place car il s'intègre directement dans le mode d'entraînement deUltralytics et s'applique automatiquement si vous avez installé le paquet Albumentations.

Installation

Pour utiliser Albumentations avec YOLO11, commencez par vous assurer que les paquets nécessaires sont installés. Si Albumentations n'est pas installé, les augmentations ne seront pas appliquées pendant l'entraînement. Une fois installé, vous serez prêt à créer un jeu de données augmenté pour l'entraînement, avec Albumentations intégré pour améliorer votre modèle automatiquement.

Installation

# Install the required packages
pip install albumentations ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consultez notre guide d'installationUltralytics . Lors de l'installation des paquets requis pour YOLO11, si vous rencontrez des difficultés, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.

Utilisation

Après avoir installé les paquets nécessaires, vous êtes prêt à utiliser Albumentations avec YOLO11. Lorsque vous entraînez YOLO11, un ensemble d'augmentations est automatiquement appliqué grâce à son intégration avec Albumentations, ce qui permet d'améliorer facilement les performances de votre modèle.

Utilisation

from ultralytics import YOLO

# Load a pre-trained model
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Ensuite, examinons de plus près les augmentations spécifiques qui sont appliquées pendant l'entraînement.

Flou

La transformation Blur dans Albumentations applique un effet de flou simple à l'image en faisant la moyenne des valeurs des pixels à l'intérieur d'une petite zone carrée, ou noyau. Cette opération est réalisée à l'aide de la fonction cv2.blur qui permet de réduire le bruit dans l'image, tout en réduisant légèrement les détails de l'image.

Voici les paramètres et les valeurs utilisés dans cette intégration :

  • blur_limit: Ce paramètre contrĂ´le la taille de l'effet de flou. La valeur par dĂ©faut est (3, 7), ce qui signifie que la taille du noyau de l'effet de flou peut varier entre 3 et 7 pixels, seuls les nombres impairs Ă©tant autorisĂ©s pour que l'effet de flou reste centrĂ©.

  • p: La probabilitĂ© d'appliquer le flou. Dans l'intĂ©gration, p=0,01, il y a donc 1 % de chances que ce flou soit appliquĂ© Ă  chaque image. La faible probabilitĂ© permet d'obtenir des effets de flou occasionnels, en introduisant un peu de variation pour aider le modèle Ă  se gĂ©nĂ©raliser sans trop brouiller les images.

Un exemple d'augmentation du flou

Flou médian

La transformation MedianBlur dans Albumentations applique un effet de flou médian à l'image, ce qui est particulièrement utile pour réduire le bruit tout en préservant les contours. Contrairement aux méthodes de flou habituelles, MedianBlur utilise un filtre médian, qui est particulièrement efficace pour supprimer le bruit de type "poivre et sel" tout en conservant la netteté des contours.

Voici les paramètres et les valeurs utilisés dans cette intégration :

  • blur_limit: ce paramètre contrĂ´le la taille maximale du noyau de flou. Dans cette intĂ©gration, il prend par dĂ©faut une valeur comprise entre 3 et 7, ce qui signifie que la taille du noyau de flou est choisie au hasard entre 3 et 7 pixels, seules les valeurs impaires Ă©tant autorisĂ©es pour garantir un alignement correct.

  • p: DĂ©finit la probabilitĂ© d'appliquer le flou mĂ©dian. Ici, p=0,01, de sorte que la transformation a 1 % de chances d'ĂŞtre appliquĂ©e Ă  chaque image. Cette faible probabilitĂ© garantit que le flou mĂ©dian est utilisĂ© avec parcimonie, ce qui aide le modèle Ă  se gĂ©nĂ©raliser en voyant occasionnellement des images avec un bruit rĂ©duit et des bords prĂ©servĂ©s.

L'image ci-dessous montre un exemple de cette augmentation appliquée à une image.

Un exemple de l'augmentation du flou médian

Niveaux de gris

La transformation ToGray dans Albumentations convertit une image en niveaux de gris, en la réduisant à un format à un seul canal et en répliquant éventuellement ce canal pour qu'il corresponde à un nombre spécifié de canaux de sortie. Différentes méthodes peuvent être utilisées pour ajuster la façon dont la luminosité des niveaux de gris est calculée, allant d'une simple moyenne à des techniques plus avancées pour une perception réaliste du contraste et de la luminosité.

Voici les paramètres et les valeurs utilisés dans cette intégration :

  • num_output_channels: DĂ©finit le nombre de canaux dans l'image de sortie. Si cette valeur est supĂ©rieure Ă  1, le canal de niveaux de gris unique sera rĂ©pliquĂ© pour crĂ©er une image de niveaux de gris multicanaux. Par dĂ©faut, cette valeur est fixĂ©e Ă  3, ce qui donne une image en niveaux de gris avec trois canaux identiques.

  • mĂ©thode: DĂ©finit la mĂ©thode de conversion des niveaux de gris. La mĂ©thode par dĂ©faut, "weighted_average", applique une formule (0,299R + 0,587G + 0,114B) qui correspond Ă  la perception humaine et donne un effet naturel aux niveaux de gris. D'autres options, telles que "from_lab", "desaturation", "average", "max" et "pca", offrent d'autres moyens de crĂ©er des images en niveaux de gris en fonction de divers besoins de rapiditĂ©, d'accentuation de la luminositĂ© ou de prĂ©servation des dĂ©tails.

  • p: ContrĂ´le la frĂ©quence d'application de la transformation en niveaux de gris. Avec p=0,01, il y a 1 % de chances de convertir chaque image en niveaux de gris, ce qui rend possible un mĂ©lange d'images en couleur et en niveaux de gris pour aider le modèle Ă  mieux se gĂ©nĂ©raliser.

L'image ci-dessous montre un exemple de cette transformation en niveaux de gris.

Un exemple de l'augmentation ToGray

Égalisation adaptative d'histogramme à contraste limité (CLAHE)

La transformation CLAHE dans Albumentations applique l'égalisation d'histogramme adaptative limitée au contraste (CLAHE), une technique qui améliore le contraste de l'image en égalisant l'histogramme dans des régions localisées (tuiles) au lieu de l'égaliser sur l'ensemble de l'image. CLAHE produit un effet d'amélioration équilibré, évitant l'amplification excessive du contraste qui peut résulter de l'égalisation standard de l'histogramme, en particulier dans les zones où le contraste est initialement faible.

Voici les paramètres et les valeurs utilisés dans cette intégration :

  • clip_limit: contrĂ´le la plage d'amĂ©lioration du contraste. RĂ©glĂ© sur une valeur par dĂ©faut de (1, 4), il dĂ©termine le contraste maximal autorisĂ© dans chaque tuile. Des valeurs plus Ă©levĂ©es sont utilisĂ©es pour augmenter le contraste, mais peuvent Ă©galement introduire du bruit.

  • tile_grid_size: DĂ©finit la taille de la grille de tuiles, gĂ©nĂ©ralement sous la forme de (lignes, colonnes). La valeur par dĂ©faut est (8, 8), ce qui signifie que l'image est divisĂ©e en une grille de 8x8. Les petites tailles de tuiles permettent des ajustements plus localisĂ©s, tandis que les plus grandes crĂ©ent des effets plus proches de l'Ă©galisation globale.

  • p: La probabilitĂ© d'appliquer CLAHE. Ici, p=0,01 n'introduit l'effet d'amĂ©lioration que dans 1 % des cas, ce qui garantit que les ajustements de contraste sont appliquĂ©s avec parcimonie pour les variations occasionnelles dans les images d'apprentissage.

L'image ci-dessous montre un exemple de la transformation CLAHE appliquée.

Un exemple de l'augmentation CLAHE

Continuer Ă  apprendre sur les albuminations

Si vous souhaitez en savoir plus sur les albuminations, consultez les ressources suivantes pour obtenir des instructions et des exemples plus détaillés :

Principaux enseignements

Dans ce guide, nous avons exploré les aspects clés d'Albumentations, une excellente bibliothèque Python pour l'augmentation d'images. Nous avons abordé son large éventail de transformations, ses performances optimisées et la manière dont vous pouvez l'utiliser dans votre prochain projet YOLO11 .

Par ailleurs, si vous souhaitez en savoir plus sur d'autres intégrations de Ultralytics YOLO11 , visitez notre page de guide d'intégration. Vous y trouverez des ressources et des informations précieuses.

FAQ

Comment puis-je intégrer Albumentations à YOLO11 pour améliorer l'enrichissement des données ?

Albumentations s'intègre parfaitement à YOLO11 et s'applique automatiquement pendant la formation si le logiciel est installé sur votre ordinateur. Voici comment commencer :

# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO

# Load and train model with automatic augmentations
model = YOLO("yolo11n.pt")
model.train(data="coco8.yaml", epochs=100)

L'intégration comprend des augmentations optimisées telles que le flou, le flou médian, la conversion en niveaux de gris et le CLAHE avec des probabilités soigneusement réglées pour améliorer les performances du modèle.

Quels sont les principaux avantages de l'utilisation d'Albumentations par rapport à d'autres bibliothèques d'augmentation ?

Albumentations se distingue pour plusieurs raisons :

  1. Performance : Construit sur OpenCV et NumPy avec une optimisation SIMD pour une vitesse supérieure
  2. Flexibilité : Prise en charge de plus de 70 transformations au niveau des pixels, de l'espace et du mélange.
  3. Compatibilité : Fonctionne de manière transparente avec des frameworks populaires tels que PyTorch et TensorFlow
  4. Fiabilité : Une suite de tests étendue permet d'éviter toute corruption silencieuse des données.
  5. Facilité d'utilisation : API unique et unifiée pour tous les types d'augmentation

Quels types de tâches de vision par ordinateur peuvent bénéficier de l'augmentation d'Albumentations ?

Albumentations améliore diverses tâches de vision par ordinateur, notamment :

  • DĂ©tection d'objets: AmĂ©liore la robustesse du modèle aux variations d'Ă©clairage, d'Ă©chelle et d'orientation.
  • Segmentation des instances: AmĂ©liore la prĂ©cision de la prĂ©diction des masques grâce Ă  diverses transformations
  • Classification: AccroĂ®t la gĂ©nĂ©ralisation du modèle grâce aux couleurs et aux augmentations gĂ©omĂ©triques
  • Estimation de la pose: Aide les modèles Ă  s'adapter aux diffĂ©rents points de vue et conditions d'Ă©clairage

Les diverses options d'augmentation de la bibliothèque la rendent précieuse pour toute tâche de vision nécessitant un modèle robuste.

📅 Created 1 month ago ✏️ Updated 24 days ago

Commentaires