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

Confusion Matrix

Une matrice de confusion dénombre les prédictions d’un modèle par rapport aux étiquettes réelles, classe par classe. Découvre comment la lire, les métriques qu’elle fournit et sa forme pour la détection.

Une matrice de confusion est un tableau qui compte la correspondance entre les prédictions d'un modèle de classification et les vraies étiquettes. Un axe énumère les classes réelles et l'autre les classes prédites ; chaque cellule compte les exemples correspondant à cette paire. Les prédictions correctes se trouvent sur la diagonale et chaque erreur en dehors de celle-ci, dans la cellule qui indique précisément quelle classe a été confondue avec quelle autre. La matrice de confusion constitue donc la première vue standard des erreurs d'un modèle et la source de l'exactitude, de la précision, du rappel et du score F1.

Lire une matrice de confusion binaire#

Avec deux classes, la matrice comporte quatre cellules :

  • Vrais positifs (TP) : exemples positifs prédits comme positifs, par exemple une pièce défectueuse signalée comme défectueuse.
  • Faux positifs (FP) : exemples négatifs prédits comme positifs, également appelés erreurs de type I ou fausses alertes.
  • Faux négatifs (FN) : exemples positifs prédits comme négatifs, également appelés erreurs de type II ou omissions.
  • Vrais négatifs (TN) : exemples négatifs prédits comme négatifs.

La plupart des métriques binaires sont des rapports calculés à partir de ces quatre valeurs. La précision est égale à TP / (TP + FP), le rappel à TP / (TP + FN) et l'exactitude à (TP + TN) divisés par la somme des quatre valeurs. La cellule hors diagonale la plus importante dépend de l'application : le réglage d'un dépistage du cancer vise à réduire les faux négatifs, tandis qu'un filtre anti-spam vise à réduire les faux positifs.

Matrices de confusion multiclasse#

Avec N classes, la matrice est de taille N × N. Dans l'orientation utilisée par la confusion_matrix de scikit-learn, chaque ligne correspond à une classe réelle et chaque colonne à une classe prédite. Parcourir une ligne montre la répartition des exemples de cette classe ; la cellule diagonale divisée par le total de la ligne donne donc le rappel de la classe. Parcourir une colonne montre quelles étaient réellement les prédictions du modèle pour cette classe ; la cellule diagonale divisée par le total de la colonne donne donc sa précision. Certains outils affichent la matrice transposée : les étiquettes des axes déterminent alors comment lire le graphique.

from sklearn.metrics import confusion_matrix

# Étiquettes vraies et prédites pour 10 images
y_true = ["cat", "cat", "cat", "dog", "dog", "dog", "dog", "fox", "fox", "fox"]
y_pred = ["cat", "cat", "dog", "dog", "dog", "dog", "cat", "fox", "dog", "fox"]

# Les lignes correspondent aux classes vraies et les colonnes aux classes prédites, dans cet ordre d'étiquettes
labels = ["cat", "dog", "fox"]
matrix = confusion_matrix(y_true, y_pred, labels=labels)
print(matrix)

Les lignes affichées pour cat, dog et fox sont [2 1 0], [1 3 0] et [0 1 2]. La diagonale contient 7 des 10 images, donc l'exactitude est de 0.7. La colonne dog comprend un cat et un fox, ce qui donne une précision de 3 / 5 = 0.6 pour dog. La ligne dog perd une image au profit de cat, ce qui donne un rappel de 3 / 4 = 0.75 pour dog. Une matrice normalisée divise chaque cellule par le total de sa classe réelle : la diagonale indique alors le rappel par classe et les classes de tailles très différentes deviennent comparables.

Matrices de confusion pour la détection d'objets#

La détection ajoute une classe d'arrière-plan, car un détecteur peut produire une boîte là où il n'y a rien ou manquer complètement un objet. Les prédictions sont d'abord associées aux étiquettes selon l'intersection sur union (IoU), puis comptabilisées : les paires associées sont placées dans les cellules des classes, les prédictions non associées comptent comme faux positifs par rapport à l'arrière-plan et les étiquettes non associées comme faux négatifs prédits comme arrière-plan. La cellule arrière-plan-arrière-plan reste vide, car les régions vides de l'image ne peuvent pas être comptabilisées ; une matrice de détection ne comporte donc pas de vrais négatifs. La validation de YOLO26 construit cette matrice avec une ligne et une colonne supplémentaires pour l'arrière-plan, associe les prédictions aux étiquettes avec un IoU supérieur à 0.45 et l'enregistre sous confusion_matrix.png, avec les classes prédites sur l'axe vertical et les classes réelles sur l'axe horizontal.

from ultralytics import YOLO

# Load a pretrained YOLO26 nano detector
model = YOLO("yolo26n.pt")

# Validation builds the confusion matrix and saves it as confusion_matrix.png
metrics = model.val(data="coco8.yaml")
matrix = metrics.confusion_matrix.matrix  # rows: predicted class, columns: true class

# 80 COCO classes plus one background row and column
print(matrix.shape)

# Class 0 is "person": correct detections and people the model missed
print(f"Person TP: {matrix[0, 0]:.0f}, missed: {matrix[-1, 0]:.0f}")

La forme est (81, 81), et la dernière ligne compte les personnes annotées auxquelles aucune prédiction n'a été associée.

  • Courbe ROC : un point par seuil de décision ; chaque point résume la matrice de confusion de ce seuil sous forme de taux de vrais positifs et de taux de faux positifs.
  • Précision moyenne (mAP) : principal score de détection, calculé à partir des mêmes décisions TP et FP à tous les niveaux de confiance, sans indiquer quelles classes sont confondues.
  • Exactitude : la matrice réduite à un seul nombre, soit la diagonale divisée par le total. Sur un jeu de données composé à 95 % d'exemples négatifs, un modèle qui prédit toujours « négatif » obtient une exactitude de 95 %, alors que sa matrice affiche zéro vrai positif.

Découvre les 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 images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, 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

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
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