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

Hard Negative Mining

L’échantillonnage de négatifs difficiles repère les exemples négatifs que le modèle confond le plus avec les positifs et concentre l’entraînement sur eux, réduisant ainsi les faux positifs en détection et en recherche.

L’extraction de négatifs difficiles est une stratégie d’entraînement qui repère les exemples négatifs sur lesquels le modèle se trompe le plus et concentre l’apprentissage sur ceux-ci. Un exemple négatif n’appartient pas à la classe cible ; un négatif difficile est un exemple que le modèle évalue encore comme positif : une portion d’arrière-plan qu’un détecteur encadre comme un objet, ou une image sans rapport qu’un modèle de plongements place près de la requête. La plupart des négatifs sont faciles ; une fois que le modèle les traite correctement, ils contribuent très peu au signal d’apprentissage. Sélectionner les négatifs difficiles affine donc les frontières de décision et réduit les faux positifs.

Fonctionnement de l’extraction des exemples négatifs difficiles#

La difficulté dépend de la tâche :

L’extraction se fait hors ligne ou en ligne. L’extraction hors ligne exécute un modèle entraîné sur un vaste ensemble de données ne contenant que des négatifs, recueille ses faux positifs, les ajoute au jeu d’entraînement, puis réentraîne le modèle. Les détecteurs de piétons classiques à fenêtre glissante étaient entraînés de cette manière : ils balayaient des images sans personne pour repérer les fausses alarmes, puis étaient réentraînés avec ces exemples. L’extraction en ligne sélectionne les exemples difficiles dans chaque lot d’entraînement. SSD classe ses boîtes par défaut négatives selon leur perte de classification et ne conserve que celles dont la perte est la plus élevée, à raison de 3 négatifs au maximum par positif. L’extraction en ligne des exemples difficiles (OHEM) applique la même idée aux propositions de régions des détecteurs à deux étapes. La sélection de SSD tient en quelques lignes :

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Simulated objectness logits for 8,400 candidate boxes: 20 cover an object, the rest are background
logits = torch.randn(8400) - 3
labels = torch.zeros(8400)
labels[:20] = 1
loss = F.binary_cross_entropy_with_logits(logits, labels, reduction="none")

# Keep every positive plus only the highest-loss negatives, at most 3 per positive
positives = labels == 1
negative_loss = loss.masked_fill(positives, 0)
hard_negatives = negative_loss.topk(3 * int(positives.sum())).indices
kept = torch.cat([positives.nonzero().squeeze(1), hard_negatives])

print(f"boxes in the loss: {len(kept)} of {len(loss)}")
print(f"mean negative loss: all {loss[~positives].mean():.3f}, mined {loss[hard_negatives].mean():.3f}")

La perte conserve 80 des 8 400 boîtes : les 20 positives et les 60 négatives que le modèle évalue le plus comme des objets. La perte moyenne de ces 60 négatifs extraits est de 0,648, contre 0,075 pour l’ensemble des 8 380 négatifs ; le gradient se concentre donc sur l’arrière-plan que le modèle confond réellement.

  • Échantillonnage négatif : sélectionne, souvent au hasard, un sous-ensemble gérable de l’ensemble des négatifs. L’extraction de négatifs difficiles sélectionne les exemples les plus déroutants.
  • Perte focale : conserve chaque exemple dans la fonction de perte, mais réduit le poids des exemples bien classés ; les détecteurs à une étape tels que RetinaNet peuvent ainsi être entraînés sur toutes les boîtes candidates sans échantillonnage explicite.
  • Apprentissage actif : sélectionne des exemples non étiquetés incertains pour une annotation humaine, y compris d’éventuels positifs. L’extraction de négatifs difficiles cible les exemples déjà confirmés comme négatifs.
  • Rééquilibrage des classes : corrige les fréquences inégales des classes par sous-échantillonnage et surpondération. Une classe négative fréquente n’est pas nécessairement difficile.
  • Augmentation de données : crée des variantes d’échantillons existants, mais ne peut pas introduire un objet déroutant qui n’a jamais figuré dans le jeu de données.

Applications concrètes#

  • Détection des risques en entrepôt : un détecteur de chariots élévateurs qui signale à répétition les transpalettes, les reflets sur les rayonnages et les nacelles à ciseaux érode la confiance des opérateurs en générant de fausses alertes. Recueillir ces scènes sous forme d’images négatives et réentraîner le modèle apprend au détecteur les caractéristiques qui distinguent un chariot élévateur d’équipements similaires.
  • Recherche visuelle de produits : lorsqu’une recherche d’une chaussure de course noire précise classe trop haut des chaussures similaires d’autres gammes, ces produits deviennent des négatifs difficiles. Les utiliser pour l’entraînement, par exemple comme négatifs dans les triplets ancre-positif-négatif d’un réseau siamois, apprend au modèle de plongements à préserver des différences subtiles telles que la forme de la semelle, la position du logo et le matériau.

Flux de travail d’extraction hors ligne#

À chaque cycle d’extraction hors ligne, le modèle actuel est exécuté, les éléments qu’il a signalés sont vérifiés, puis les cas confirmés sont réintégrés à l’entraînement :

L’étape de vérification est importante, car un « faux positif » est souvent un objet réel manqué par les annotateurs. L’ajouter en tant que négatif apprendrait au modèle à supprimer de vraies détections. Ultralytics YOLO traite une image d’entraînement dont le fichier d’étiquettes est manquant ou vide comme une image d’arrière-plan : chaque point d’ancrage de cette image reçoit donc un score cible nul, et toute prédiction fiable y est pénalisée. Pour ajouter des négatifs extraits à un jeu de données YOLO26, il suffit ainsi de copier les images sans étiquettes. Les progrès se traduisent par une précision accrue à rappel égal, mesurée sur le jeu de test complet et sur un sous-ensemble dédié aux négatifs difficiles.

L’entraînement avec uniquement les négatifs les plus difficiles peut se retourner contre le modèle. Lors de l’entraînement de plongements faciaux avec FaceNet, sélectionner les négatifs les plus difficiles au début pouvait réduire le modèle à associer tous les visages au même point. Les auteurs ont donc utilisé des négatifs semi-difficiles, plus éloignés du point d’ancrage que le positif, mais situés à l’intérieur de la marge du triplet.

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