[OCTO] Article de Blog
L'humain ne peut inspecter manuellement des centaines de produits par minute, filtrer des millions d'images, ou scruter en continu des radiographies. La détection d'anomalies par vision automatise cette vigilance, mais 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 un exemple de métrique opérationnelle pour évaluer un modèle, 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 se représenter le sens du contenu d’images. 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 permettent de classifier, détecter, segmenter, ...
Figure 1 : Représentation haut niveau d’un modèle de vision
Au cœur de nombreuses tâches visuelles automatiques se trouve un modèle de vision, capable de transformer automatiquement une image en une représentation vectorielle (embedding). 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 ?).
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’anomalies pertinent pour une nouvelle image ?
Les modèles de vision sont au cœur de cette approche : on ne manipule plus des images, mais des abstractions mathématiques de leur contenu. En premier lieu, on peut les utiliser de manière supervisée : on définit la normalité par contraste avec ce que l’on observe d’anormal.
Détection d’anomalies 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 alors calculé en fonction de la distance entre l’image et cette frontière.
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 :
- La complexité : Les images sont des objets multidimensionnels, ce qui rend la frontière extrêmement difficile à définir.
- 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 représentations vectorielles. C’est entre ces points que l’on construit la frontière de décision.
Comment ça marche concrètement ?
- 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.
- Objectif : Trouver une frontière qui sépare les deux catégories dans l’espace des représentations.
- 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.
Figure 3 : Modèle de détection d’anomalie supervisé
En pratique, on utilise des backbones pré-entraînés (DINO, Swin, ResNet). Leur abstraction élevée (excellent pour "c'est une vis") peut négliger des détails critiques (régularité du pas). 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 :
- Exemple :
- Méthode simples : CutPaste, SimpleNet
- Méthodes plus sophistiquées : génération de défauts synthétiques (SICA).
- Objectif : 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.
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. Leur principe ? Plutôt que de s’appuyer sur des exemples d’anomalies (souvent indisponibles), ces approches modélisent ce qui est typique dans les données, puis identifient automatiquement les écarts significatifs.
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.
Exemple de l’approche banque mémoire (Figure 5) :
- Construction : embeddings des images normales = nuage de points de référence.
- Inférence : distance aux k plus proches voisins = score d'anomalie.
- Segmentation par patchs : analyse locale pour isoler défauts subtils. Les représentations de l’image globale ne sont pas assez discriminantes.
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 (PatchCore, etc.), et une pipeline standard de détection d’anomalie sans tout 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).
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.
Les modèles non supervisés brillent par leur flexibilité et leur robustesse face à l’inconnu. Il semble le meilleur choix dans le contexte de détection d’anomalie. La réponse est en réalité plus nuancée.
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, on se place dans une production fictive à forte cadence de vis, basée sur le dataset MVTec AD. 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).
Figure : Matrice de confusion et coûts associés
Choisir les bonnes métriques de comparaison
Principe : Chaque prédiction génère un coût ou un gain selon la matrice de confusion. Le gain moyen sur toutes les images constitue notre métrique de performance.
Optimisation du seuil : On teste différents seuils de classification et on retient celui qui maximise le gain — le meilleur compromis entre détection et fausses alertes.
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.
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, qui quantifie la robustesse du gain lorsque le seuil varie :
- AUGC ≈ 1 : gain stable, reproductible en production.
- 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.
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.
- Suppose des coûts stationnaires (rarement vrai en production)
- Ne garantit pas la performance sur des cas rares critiques
- Métrique locale : utile pour comparer sous hypothèses fixes, pas universelle
Alternative : Area under PR Curve (AUPRC) mesure la capacité technique de séparation, indépendante des coûts. Utilisez les deux : AUPRC pour la qualité intrinsèque, AUGC pour l'impact business sous vos hypothèses.
Comparaison des performances sur des coûts fixes
Recette d’évaluation du modèle
- Simulation de bruit : utilisation d’une pipeline d’augmentation pour simuler de bruit (flou, salt & pepper, …) sur un certain pourcentage des données du jeu de validation. On simule du bruit réaliste, pas des bruits qu’on ne pourrait jamais retrouver.
- Cross-validation stratifié : calculer des métriques de manière plus robuste, tout en garantissant que le jeu de validation contient 97% d’images normales et 3% d’images défectueuses. On cherche à évaluer les performances opérationnelles de notre modèle dans des conditions réalistes de production.
Le code de ce benchmark est disponible sur github pour plus de détails.
Gains opérationnels
| 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)
- Le ViT se distingue particulièrement par son efficacité paramétrique et 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.
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.
L'apprentissage non-supervisé
L'apprentissage non supervisé s'impose dans les environnements de production maîtrisés et stables. Avec ce type de modèle, accepter quelques fausses alertes vaut largement mieux que de laisser passer un vrai problème.
Quand l'utiliser ?
- Démarrage d'une nouvelle production : vous ne disposez pas encore d'historique de défauts. En attendant d'accumuler suffisamment de données étiquetées, cette approche assure une première ligne de défense et aide à constituer progressivement une base d'exemples pour un futur modèle supervisé.
- Risque critique : le coût d'un défaut non détecté est catastrophique (ex : composant aéronautique, fissure dans une structure critique).
L'apprentissage supervisé
L'apprentissage supervisé devient pertinent quand votre catalogue de défauts est déjà bien fourni. Vous disposez d'images ou de mesures clairement étiquetées : "ceci est une rayure", "cela est une bulle d'air", "voici une déformation".
L'algorithme apprend de ces exemples comme un apprenti auprès d'un expert : il observe, identifie des patterns, et reproduit le diagnostic.
Quand l'utiliser ?
Cette méthode excelle en précision quand les défauts sont récurrents et stables dans le temps – pensez à une chaîne automobile qui produit les mêmes pièces depuis des années avec les mêmes types de problèmes.
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 :
- Le modèle supervisé détecte les défauts habituels avec une grande précision et certitude
- 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.
Quand l'utiliser ?
- Cas d’usage où les défauts évoluent dans le temps (nouvelles matières premières, usure progressive des équipements, modifications de process).
| 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. |
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é (flexibles mais sensible 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), afin de garder le modèle qui minimise les pertes. Face à des coûts instables, une métrique agnostique aux coûts reste intéressante en complément pour comparer tous les modèles entre eux (ex : AUC-PR).
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
- Xie, G., Wang, J., Liu, J., Lyu, J., Liu, Y., Wang, C., Zheng, F., & Jin, Y. (2024). IM-IAD : Industrial Image Anomaly Detection Benchmark in Manufacturing. IEEE Transactions On Cybernetics, 54(5), 2720‑2733. https://doi.org/10.1109/tcyb.2024.3357213
- Zhang, J., He, H., Gan, Z., He, Q., Cai, Y., Xue, Z., Wang, Y., Wang, C., Xie, L., & Liu, Y. (2024). A Comprehensive Library for Benchmarking Multi-class Visual Anomaly Detection. arXiv (Cornell University). https://doi.org/10.48550/arxiv.2406.03262
- Roth, K., & al. (2022). Towards Total Recall in Industrial Anomaly Detection. 2022 IEEE/CVF Conference On Computer Vision And Pattern Recognition (CVPR), 14298‑14308. https://doi.org/10.1109/cvpr52688.2022.01392
- Damm, S., Laszkiewicz, M., Lederer, J., & Fischer, A. (2025). AnomalyDINO : Boosting Patch-based Few-Shot Anomaly Detection with DINOv2. CPVR, 1319‑1329. https://doi.org/10.1109/wacv61041.2025.00136
- Li, C., Sohn, K., Yoon, J., & Pfister, T. (2021). CutPaste : Self-Supervised Learning for Anomaly Detection and Localization. CPVR, 9659‑9669. https://doi.org/10.1109/cvpr46437.2021.00954
- Liu, Z., Zhou, Y., Xu, Y., & Wang, Z. (2023). SimpleNet : A Simple Network for Image Anomaly Detection and Localization. CPVR, 20402‑20411. https://doi.org/10.1109/cvpr52729.2023.01954
- Varatharasan, V., Calarn, S. (2022, 16 septembre). Quand la génération synthétique permet de voir ce qui n’existe pas - OCTO Talks ! https://blog.octo.com/quand-la-generation-synthetique-permet-de-voir-ce-qui-n'existe-pas
- Bergmann, & al. (2021). The MVTec Anomaly Detection Dataset : A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection. International Journal Of Computer Vision, 129(4), 1038‑1059. https://doi.org/10.1007/s11263-020-01400-4





