Détection d'anomalies visuelles automatique : faut-il apprendre du défaut ou de la normalité ?

Imaginez être chargé de détecter un produit défectueux dans une usine, une image violente sur un réseau social, ou encore une zone suspecte sur une radio médicale. Trois univers, un même enjeu : détecter l’anomalie avant qu’elle ne coûte — que ce soit en argent, en sécurité ou en santé. Néanmoins, l'œil humain ne peut inspecter des centaines de produits par minute, ni être toujours vigilant et concentré à 100%.

Les modèles de vision, appartenant au domaine de l’IA, automatisent cette vigilance, tout en permettant de traiter des volumes d’images élevés. Mais cela soulève une question stratégique : faut-il montrer des exemples de défauts au modèle (supervisé) ou le laisser apprendre seul la normalité (non supervisé) ?

Le choix n'est pas technique, il dépend majoritairement des contraintes opérationnelles. Cet article explique le fonctionnement des méthodes supervisées, et non supervisées sur un cas réel (production de vis industrielles). Il introduit deux exemples de métriques pour évaluer un modèle de détection d’anomalie, et explicite les critères de décision selon vos contraintes opérationnelles.

Méthode de détection automatique d’anomalies visuelles

Interpréter le sens d’une image de manière automatique

Afin d’automatiser la détection d’anomalies visuelles, il faut dans un premier temps qu’un algorithme puisse interpréter ce que contient une image. Il est essentiel de comprendre un concept de base de la vision assistée par ordinateur : qu’est-ce qu’un modèle de vision ?

Les modèles de vision (aussi appelé “vision backbone” en anglais) sont des modèles d’intelligence artificielle capables d’identifier des motifs au sein d’une image, pour en extraire du sens.

Sous le capot, les modèles de vision transforment une image en représentation latente (embedding). Ces représentations sont au coeur de nombreuse tâche, et permettent de classifier, détecter des objets, segmenter, ...

Schéma d'un modèle de vision

Figure 1 : Représentation haut niveau d’un modèle de vision

Deux architectures principales dominent : les CNNs (réseaux convolutifs), qui extraient progressivement des caractéristiques visuelles par convolutions successives, et les ViTs (Vision Transformers), qui découpent l'image en patches et utilisent des mécanismes d'attention pour capturer les relations globales.

Mais ces modèles ne font que décrire une image. Comment les utiliser pour distinguer le normal de l'anormal ?

Détecter des anomalies visuelles à l’aide de modèles de vision

Détecter une anomalie nécessite trois éléments (Figure 2):

  • Une norme, apprise à l’aide d’un échantillon.
  • Un score d’anomalie (distance à la norme).
  • Un seuil de décision (à partir de quel score on alerte ?).

Schéma conceptuel de détection de défaut sur une image de vis

Figure 2 : Exemple conceptuel de détection de défaut sur une image de vis

Le défi majeur concerne les deux premiers éléments : Comment établir une norme à partir d’images ? Et comment, ensuite, produire un score d’anomalie pertinent pour une nouvelle image ?

Construire une norme de manière supervisée

Ce premier paradigme s’articule autour de l’idée suivante : construire une frontière de décision entre les images normales et les images anormales. Le score d’anomalie est calculé à partir de la distance entre l’image et cette frontière, à travers la fonction sigmoïde. En d'autres termes, plus on est loin de la frontière du côté normal, plus le score d’anomalie est bas, et inversement.

Bien qu’il soit théoriquement possible de tracer une frontière de décision entre des images brutes, cette approche se heurte à deux problèmes majeurs :

  1. La complexité : Les images sont des objets multidimensionnels, ce qui rend la frontière extrêmement difficile à définir.
  2. La perte de sens : Une séparation directe ignore la sémantique des images. On ne compare que des structures de pixels.

La solution : travailler sur les représentations latentes, pas sur les images elles-mêmes. Plutôt que de tenter de séparer les images en l’état, on utilise un modèle de vision pour les transformer en embeddings. C’est entre ces points que l’on construit la frontière de décision.

Comment ça marche concrètement ?

  1. Données nécessaires : On a besoin d’un jeu d’images étiquetées — des vis normales et des vis anormales — pour entraîner le modèle.
  2. Objectif : Trouver une frontière qui sépare les deux catégories dans l’espace des représentations.
  3. Méthode : On utilise un algorithme de classification binaire (comme illustré sur la Figure 3) pour optimiser cette séparation, sur la base de notre échantillon d’images.

Modèle de détection d’anomalie supervisé

Figure 3 : Modèle de détection d’anomalie supervisé

En pratique, on utilise des modèles pré-entraînés (DINO, Swin, ResNet). Leur abstraction élevée (excellent pour "c'est une vis") peut négliger des détails critiques (ex : régularité du pas de vis). Solution : fine-tuner les dernières couches pour affiner les représentations.

Pour la détection d’anomalie, les méthodes supervisées se heurtent à deux défis de taille :

  • Représentativité des images de défauts : Un échantillon représentatif est rare, car les défauts réels sont rares, variés, imprévisibles, et souvent mal documentés.
  • Dynamisme des anomalies : De nouveaux types de défauts peuvent émerger avec le temps, rendant tout jeu de données initial obsolète.

Sans données complètes et variées, construire une frontière de décision robuste devient illusoire.

Pour contourner ce problème, on peut recourir à la création d’anomalies artificielles. L’objectif est de simuler des défauts jamais observés, pour enrichir le jeu d’entraînement et espérer améliorer la généralisation du modèle.

Il existe des méthodes pour créer des défauts plus ou moins réaliste :

  • Peu réaliste, facile et rapide : Ajout de bruit (SimpleNet), perturbations géométriques basiques (CutPaste).
  • Réaliste, complexe et plus coûteux : Génération réaliste via GANs ou modèles de diffusion (ex : voir cet article sur notre blog).

Lorsque l’on commence à augmenter nos données, ou en créer des synthétiques, il devient nécessaire de contrôler leur qualité. Pour cela, on peut utiliser FiftyOne — une librairie python qui permet de :

  • Lancer une application web depuis le sdk python (en paramètre : images, labels, prédictions, bbox, …)
  • Visualiser les images et les labels associés.
  • Analyser les prédictions individuelles de différents modèles sur un dataset.

En résumé, l’approche supervisée, bien que robuste en théorie, se révèle trop dépendante des données d’entraînement — un handicap majeur face à la diversité et à la rareté des anomalies réelles. Les modèles peinent à généraliser vers des défauts inédits, limitant leur efficacité dans des environnements dynamiques comme la production industrielle.

Une alternative prometteuse émerge alors : les méthodes non supervisées de détection d’anomalies.

Comparer à la normalité pour détecter une anomalie

Les méthodes non supervisées modélisent la distribution des données normales, puis détectent les écarts significatifs sans avoir vu d'exemples d'anomalies.

En pratique, les mécanismes sous-jacents sont variés — reconstruction d’images, estimation de densité, modèles génératifs, ou encore mémoires externes — mais partagent tous le même objectif : détecter l’inattendu sans en avoir vu d’exemple au préalable.

Pour illustrer ces méthodes, prenons l’exemple de l’approche banque mémoire (Figure 5) :

  1. Construction : embeddings des images normales = nuage de points de référence.
  2. Inférence : distance aux k plus proches voisins = score d'anomalie.
  3. Segmentation par patchs : analyse locale pour isoler défauts subtils. Les représentations de l’image globale ne sont pas assez discriminantes.

Modèle de détection d’anomalie “banque mémoire”

Figure 5 : Modèle de détection d’anomalie “banque mémoire”

Pour implémenter ce type de modèle, il est possible d’utiliser Anomalib :

  • Tout-en-un : Implémente les modèles SOTA non supervisés, et une pipeline standard de détection d’anomalie sans devoir coder depuis zéro.
  • Industrie-ready : Optimisé pour la détection visuelle (patches, métriques, intégration FiftyOne/PyTorch, export des modèles).
  • Flexible : Personnalisable (backbones, fine-tuning) et scalable (GPU, batch processing).

Les modèles non supervisés brillent par leur flexibilité et leur robustesse face à l’inconnu. Ils semblent être plus adaptés face aux contraintes de sujets liés à la détection d’anomalie. La réponse est en réalité plus nuancée.

En effet, l’approche non-supervisée n’est pas parfaite : elle se base sur le concept de normalité, dont la définition est floue et évolutive.

La normalité n’est pas fixe dans le temps (usure des caméras, variation d'éclairage, changement de fournisseurs de matière première, …). Ces modèles ne sont donc pas "install and forget" — ils nécessitent une surveillance continue et une redéfinition régulière de ce qui constitue la norme."

La normalité n’est pas un concept aux frontières claires : elle englobe une variabilité naturelle complexe, des cas limites ambigus, et des exceptions légitimes qu’une distribution mathématique de point peine à modéliser fidèlement.

Face à ces limites conceptuelles, comment choisir concrètement entre une approche supervisée et non supervisée ? Plaçons-nous dans un contexte industriel réel pour comparer ces méthodes là où ça compte : leur impact économique.

Comparaison des approches sur un cas d’usage concret

Choisir les bonnes métriques de comparaison

Derrière une anomalie se cache un coût, un risque. Il est essentiel de capturer cette notion dans notre métrique : on ne cherche pas forcément à maximiser le nombre de d’anomalies détectées, mais plutôt à détecter les anomalies de manière à minimiser les coûts / risques.

Pour notre cas d’étude de vis, on pose les heuristiques suivantes :

  • Capacité de production : 10 millions de vis par mois.
  • Cadence : 300 vis/minute, sur 22 jours ouvrés.
  • Coût de fabrication : 100 000 vis = 2 000 €.
  • Prix de vente : 100 000 vis = 4 000 €.
  • Part de défaut observée : environ 3%.

Sous ces heuristiques, on peut construire une matrice qui énumère les gains/pertes provoqués par notre modèle. Autrement dit, chaque prédiction de notre modèle correspond à un des 4 cas de figure ci-dessous. Dans notre exemple, on fait le choix de pénaliser le FN 10× plus qu'un FP (client insatisfait, garantie, réputation).

Matrice des coûts liés aux cas de figure en production (TP, TN, ...)

Figure : Matrice de confusion et coûts associés

Mesurer l’impact opérationnel d’un modèle

Principe : Chaque prédiction génère un coût ou un gain selon la matrice de confusion ci-dessus. Le gain moyen sur toutes les images constitue notre métrique de performance.

Optimisation du seuil : Le seuil impacte les résultats du modèle. On teste différents seuils de classification et on retient celui qui maximise le gain — le meilleur compromis entre détection et fausses alertes.

Néanmoins, choisir le seuil optimal sur le jeu de validation risque un sur-ajustement aux particularités de cet échantillon (bruit, artefacts). Résultat : performances excellentes en test, dégradées en production. On ne peut donc pas mesurer de manière représentative la performance d’un modèle à son gain obtenu avec le seuil optimal.

Voici un exemple de métrique que l’on peut construire pour éviter l’overfitting. L'AUGC (Area Under Gain Curve) est une métrique sans seuil, inspirée de l’AU-PRC. Elle quantifie la robustesse du gain lorsque le seuil varie :

  • AUGC ≈ 1 : gain stable, peu impacté par le choix du seuil.
  • AUGC faible : gain fragile, probablement un "coup de chance" du jeu de validation.

Calcul : Aire sous la courbe gain/seuil, normalisée par l'aire idéale (gain maximal constant). Score entre 0 et 1.

Illustration du calcul de la métrique AUGC

Figure : Illustration du calcul de la métrique AUGC

Ce type de métrique opérationnelle dépend de vos hypothèses de coûts (ici FN = 10× FP). Modifier ce ratio change la valeur de l'AUGC et peut inverser le classement des modèles. La métrique suppose donc des coûts stationnaires (rarement vrai en production).

Finalement, l’association entre l’AUGC et le gain maximal du modèle permettent de mesurer à un instant donné l’impact du modèle sur une ligne de production. Pour autant, pour mesurer sa performance absolue dans le temps, il est nécessaire de conserver une métrique plus théorique comme l’AU-PRC (ou l’AUROC).

Comparaison des performances sur des coûts fixes

Pour se placer dans un contexte moins parfait qu’un dataset très propre, on simule avec une certaine probabilité du bruit sur les images. On simule du bruit réaliste (flou, salt & pepper, …), pour simuler les conditions variables d’un environnement réel.

Pour les modèles supervisés, on fine-tune les dernières couches du modèles, et on entraîne un modèle de classification linéaire. Pour les modèles non supervisés, le modèle de vision a été utilisé comme encodeur de base pour un modèle de type banque mémoire. Le code de ce benchmark est disponible sur github pour plus de détails sur l’entraînement et l’évaluation des modèles.

Gains opérationnels

Voici les deux axes que l’on peut tirer des résultat de l’évaluation des modèles sur nos images de vis :

  • Le ViT se distingue particulièrement par sa meilleure résistance au bruit.
  • Sur des défauts connus et documentés, les modèles supervisés sont plus performants que les modèles non supervisés. Notamment sous conditions bruitées.




Conditions stables



20% des images bruitées



Modèle de vision

Méthode

AUGC

Gain maximal

AUGC

Gain maximal

ViT

DINOV3-S (21M)

Supervisé

0,95 ± 0,01

1,81 €

0,94 ± 0,01

1,72 €



Non-supervisé

0,77 ± 0,05

1,75 €

0,81 ± 0,03

1,34 €

CNN

Wide-resnet50 (68M)

Supervisé

0,93 ± 0,02

1,78 €

0,90 ± 0,02

1,610 €



Non-supervisé

0,80 ± 0,02

1,51 €

0,79 ± 0,02

1,25 €

Figure : Gain opérationnel proposé par les modèles supervisés (backbone fine-tuné + modèle de classification linéaire)

Cependant, ces résultats soulèvent une question stratégique importante : l'approche supervisée nécessite un étiquetage exhaustif et coûteux des anomalies, souvent difficile à maintenir en production face à l'évolution des défauts ou l'arrivée de nouvelles références produit.

Face à cette réflexion, on peut se poser les questions suivantes :

  • Quand privilégier le supervisé ?
  • Quand opter pour le non supervisé ?
  • Et si la solution idéale était un hybride des deux ?

Quel choix faire pour mon modèle de détection d’anomalies ?

Le choix de la méthode repose sur trois piliers : la nature de votre environnement de production, votre connaissance préalable des défauts, et l'équilibre entre risques et coûts.

Type d’approche

Quand l’utiliser ?

Limites

Non-supervisé

- Démarrage d’une nouvelle production.

Sensibles au bruit liés aux variations d’environnement.







- Coût critique des FN.



Supervisé

- Défaut récurrents
- Labels abondants

Ne détecte pas les nouveaux types d’anomalies.

Hybride

- Défauts évolutifs
- Besoin de flexibilité

Plus complexe à mettre en œuvre et à maintenir.

L'approche hybride

L'approche hybride essaye de combiner les forces des deux approches précédentes, pour masquer leurs faiblesses respectives.

Comment ça fonctionne ?

Le système fait fonctionner deux modèles en parallèle :

  1. Le modèle supervisé détecte les défauts habituels avec une grande précision et certitude
  2. Le modèle non-supervisé analyse ensuite les échantillons classés "normaux" par le supervisé pour y débusquer d'éventuels nouveaux types de défauts

C'est comme un contrôle qualité en deux étapes : le premier inspecteur repère rapidement les problèmes connus, puis un second passe au crible fin ce qui semble sain pour détecter l'inhabituel. Cette architecture évite qu'un nouveau défaut passe totalement inaperçu simplement parce qu'il n'était pas dans le catalogue.

Conclusion

Trois piliers structurent la détection : représentation (modèle de vision), score d'écart, seuil. Il est possible de les utiliser au sein d'approches comme les modèles supervisés (précis sur le connu, aveugle à l'inédit) et non supervisés (flexibles mais sensibles au bruit).

Pour comparer des modèles entre eux, il est pertinent d’utiliser une métrique qui reflète sa performance opérationnelle (ex : AUGC). Face à des coûts instables, une métrique agnostique aux coûts reste intéressante en complément pour mesurer une performance absolue au cours du temps (ex : AU-PRC).

Supervisé ou non supervisé ? La question est mal posée. Le dilemme n'est pas technique mais opérationnel : quel est le coût d'un défaut manqué versus une fausse alerte ? Combien coûte l'annotation ? Votre environnement dérive-t-il ? L'excellence opérationnelle commence par la rigueur dans la définition du problème métier.

Sources