Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

CutMix

CutMix colle un fragment rectangulaire d’une image d’entraînement sur une autre et mélange leurs étiquettes en fonction de la surface du fragment, ce qui améliore la précision et la localisation.

CutMix est une technique d’augmentation des données qui découpe une zone rectangulaire dans une image d’entraînement, la colle sur la même région d’une autre image, puis mélange les deux étiquettes en proportion de la surface occupée par chaque image. Sangdoo Yun et ses collègues de NAVER Clova AI Research l’ont présentée dans un article publié à l’ICCV en 2019, en combinant deux idées antérieures : la suppression d’une région aléatoire de Cutout et le mélange d’étiquettes de MixUp. Sur ImageNet, CutMix a réduit le taux d’erreur top-1 d’un ResNet-50 de 23,68 % à 21,40 %, devançant MixUp à 22,58 % et Cutout à 22,93 %. Les modèles préentraînés avec CutMix ont aussi mieux été adaptés à la détection d’objets et au légendage d’images.

Fonctionnement de CutMix#

Pour chaque paire d’images A et B, CutMix échantillonne un coefficient de mélange λ selon une loi bêta, uniforme entre 0 et 1 lorsque le paramètre α par défaut vaut 1. Il trace ensuite une boîte dont la largeur et la hauteur correspondent à celles de l’image multipliées par √(1 − λ), la centre sur un point aléatoire, la découpe aux bords de l’image et copie cette région de B dans A. Après découpage, λ est recalculé comme la fraction de A restante, et l’étiquette devient λ part de A et (1 − λ) part de B ; une zone de chat de 30 % collée sur une image de chien produit ainsi une cible composée de 0,7 chien et de 0,3 chat. L’entraînement minimise la fonction de perte par rapport à cette étiquette souple, comme avec le lissage des étiquettes.

Le module torchvision de PyTorch applique CutMix à tout un lot, en associant chaque image à sa voisine dans le lot :

import torch
from torchvision.transforms import v2

# A batch of 4 random 224x224 images labeled with classes 0-3 of 10
torch.manual_seed(0)
images = torch.rand(4, 3, 224, 224)
labels = torch.tensor([0, 1, 2, 3])

# Paste a random box from each image's neighbor in the batch and mix the labels by area
cutmix = v2.CutMix(num_classes=10)
mixed_images, mixed_labels = cutmix(images, labels)

# Image 0 received its patch from image 3
pasted = (mixed_images[0] != images[0]).any(dim=0).float().mean()
print(f"pasted area: {pasted:.3f}")
print(f"label weights for classes 0-3: {mixed_labels[0, :4].numpy().round(3)}")

Le programme affiche une zone collée de 0,187 et des poids d’étiquette de 0,813 pour la classe 0 et de 0,187 pour la classe 3 : la part de la cible attribuée à chaque classe correspond à la part des pixels qu’elle apporte.

Pourquoi CutMix est efficace#

Un modèle de classification d’images entraîné sur des images entières peut réussir en reconnaissant une petite partie très discriminante, comme le visage d’un chien. Lorsque CutMix recouvre cette partie avec une autre image, le modèle doit reconnaître le chien grâce à son corps, ses pattes ou son pelage. Il apprend ainsi à utiliser une plus grande partie de chaque objet, ce qui améliore la localisation faiblement supervisée et la robustesse à l’occlusion. Chaque pixel de l’image mélangée provient toujours d’une vraie photo ; le modèle ne s’entraîne donc jamais sur des zones vides ou des mélanges fantomatiques. Comme d’autres augmentations fortes, CutMix agit comme une régularisation qui réduit le surapprentissage, et les recettes modernes d’entraînement des transformeurs de vision (ViT), notamment celle utilisée pour les transformeurs d’image efficaces en données (DeiT) de Meta, combinent CutMix et MixUp.

  • MixUp : Mélange deux images entières pixel par pixel avec le poids λ et combine leurs étiquettes de la même manière, produisant des superpositions semi-transparentes qui ne ressemblent à aucune scène réelle.
  • Cutout : Masque un carré aléatoire avec des zéros et conserve l’étiquette d’origine ; les pixels masqués ne fournissent donc aucune information pour l’entraînement.
  • Mosaic : Assemble quatre images redimensionnées en une seule ; il s’agit d’une augmentation standard pour entraîner les détecteurs d’objets, qui conserve l’étiquette de boîte de chaque objet encore visible dans l’image.
  • Copier-coller pour la segmentation d’instances : Colle dans une image des instances d’objets segmentées, plutôt que des rectangles, provenant d’une autre image.

CutMix en détection d’objets#

En détection, chaque étiquette reste catégorique : au lieu d’un vecteur de classes mélangé, les boîtes des deux images sont conservées lorsque leurs objets restent visibles. L’augmentation cutmix d’Ultralytics YOLO, désactivée par défaut, prend une probabilité comprise entre 0 et 1. Son implémentation choisit une région de découpe qui ne chevauche aucune boîte existante dans l’image cible, copie la même région depuis une seconde image et conserve chaque boîte englobante collée dont au moins 10 % de la surface reste dans la région, ou 1 % pour les étiquettes de segmentation. Par défaut, CutMix est désactivé en même temps que mosaic durant les 10 dernières époques d’entraînement, selon la valeur de close_mosaic=10.

Explore solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les prises de vue aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la surveillance environnementale, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Déploie l’IA visuelle pour la surveillance aérienne avec les modèles Ultralytics YOLO. Donne de la puissance aux drones, aux workflows aéronautiques, à la conservation de l’environnement et aux secteurs géospatiaux grâce à des solutions de vision par ordinateur.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique