[OCTO] Article de Blog

Imaginez une chaîne de production où des centaines de produits défilent chaque minute et où chaque défaut doit être immédiatement identifié, une plateforme sociale filtrant en continu des millions d’images potentiellement choquantes, ou encore un hôpital scrutant des radiographies à la recherche de signaux à peine perceptibles à l’œil nu.

Face à ces défis, l’automatisation de la détection de défauts à partir d’images s’impose comme un levier stratégique. Au cœur de cette problématique se trouvent les modèles de vision, capables de réaliser diverses tâches à partir d’images, telles que la classification ou la détection d’objets. Dans ce contexte, cet article propose un cadre complet pour évaluer deux grandes familles de modèles de vision : les réseaux de neurones convolutifs (CNN) et les Vision Transformers (ViT).

Pour illustrer ces concepts, nous suivrons Bob, responsable qualité dans une usine de production de vis. Soucieux d’automatiser la détection des défauts sur sa ligne, Bob souhaite identifier l’architecture la plus adaptée à ses besoins.

Ligne de production de Bob

Nous commencerons par présenter les modèles de vision (CNN et ViT), puis explorerons deux approches pour les intégrer à des systèmes de détection d’anomalies : une approche supervisée et une approche fondée sur la notion de « banque mémoire ». Nous proposerons également un exemple de méthode permettant de traduire les performances de ces modèles en indicateurs opérationnels concrets.

Enfin, une comparaison entre CNN et ViT sera réalisée pour guider Bob vers le choix optimal. Des conseils pratiques sur l’implémentation de modèles, le fine-tuning et l’organisation d’un benchmark compléteront cet article.

La base du traitement d’images : les modèles de vision

Afin d’aider Bob à automatiser la détection des défauts sur sa ligne, 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, et comment fonctionnent les vision transformers ?

C’est quoi un modèle de vision ?

Les modèles de vision (aussi appelé “backbone” en anglais) transforment une image brute en un ensemble de représentations numériques (vecteur, matrice ou tenseur). Une représentation n’est pas immédiatement interprétable pour un humain, mais elle encode les caractéristiques visuelles de l’image de manière structurée. Ces représentations forment ce qu’on appelle un espace latent. C’est un espace dans lequel :

  • Les éléments similaires dans l’espace de départ auront des représentations vectorielles proches,
  • Certaines directions dans l’espace sont liées à un concept (pas forcément interprétable).

Pour Bob, cela signifie concrètement que chaque vis inspectée par la caméra sera transformée en un vecteur dans cet espace latent. La distance ou la similarité entre ces vecteurs permet de repérer les vis présentant des défauts sans avoir besoin d’une inspection humaine directe.

Schéma d'un modèle de vision

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

Un modèle de vision produit, couche après couche, une série de représentations latentes intermédiaires qui capturent différents niveaux d’abstraction — des motifs basiques (bords, textures) jusqu’à des concepts plus complexes (formes, objets, scènes). Selon la tâche considérée, il peut être pertinent d’exploiter non seulement la représentation finale, mais aussi certaines représentations intermédiaires. C’est notamment le cas en détection d’objets ou en segmentation d’images.

En quoi est-ce utile ? Chaque représentation produite par le modèle pour une image (des représentations intermédiaires jusqu’à celle finale) permet de capturer à différents niveaux de détails sur le contenu d’une image. En manipulant ces représentations, on peut tirer partie des informations qu’elles contiennent afin de réaliser une tâche. Par exemple, l’information portée par un vecteur latent peut-être utilisée pour d’autres tâches (ex : le vecteur représente mathématiquement ce que contient l’image, c’est une information utile pour la classifier).

Point rapide sur les Vision Transformers (ViT)

Depuis le succès d’AlexNet sur le dataset ImageNet en 2012, l’architecture CNN s’est imposée comme un incontournable du traitement automatique d’image. Parmi les déclinaisons des CNNs, on peut citer quelques références comme ResNet (2015), EfficientNet (v1-2019, v2-2021) ou encore ConvNeXt (2022).

En parallèle, en 2017, l’architecture “Transformer” devient rapidement un standard dans le domaine traitement automatique du langage. Elle propose un entraînement parallélisable, avec des performances ”scalable”. Devant ce succès, de nombreux chercheurs tentent d’adapter cette architecture aux images.

Le défi principal vient de la nature des images : contrairement au texte (séquence de mots), utiliser directement les pixels comme token est inefficace. Par exemple, pour traiter une image de basse résolution (224 × 224), la taille du contexte serait de 50 176 tokens. Cela représente, en moyenne, la même quantité de tokens que 25 000 mots en français. C’est équivalent à la taille d’un document d’environ 50 pages !

Face à ce problème, une solution sort du lot. En 2020, le Vision Transformer (ViT) challenge la domination des CNNs sur certains aspects, notamment en termes de performances à grande échelle. Le ViT associe les tokens à des morceaux d’images, appelés patchs. Ces patchs résultent du découpage d’une image en petits carrés de taille p × p (Figure 3), et permettent de réduire quadratiquement (par rapport à p) le nombre de tokens associés à une image. En reprenant l’exemple précédent, on passe de 50 176 à 196 tokens, en utilisant des patchs de taille 16 × 16 (c’est généralement la norme, avec 14 × 14).

Découpage d’une image en patchs

Figure 2 : Découpage d’une image en patchs

Lors de sa phase d’entraînement supervisée, le Vision Transformer construit des représentations latentes successives pour chacun des patchs d’une image (Figure 4). En mutualisant les informations de celles-ci, il peut représenter une image dans son ensemble :

  • Average pooling : moyenne des représentations des patchs
  • Token spécial “[CLS]” : on pousse le modèle à construire une représentation de l’image à travers ce token.

Architecture d’un vision transformer

Figure 3 : Architecture d’un vision transformer

Un an plus tard en 2021, deux déclinaisons du ViT résolvent des problèmes inhérents à sa première version :

  • Swin (Shifted Window) : l’architecture de l’encoder est légèrement modifiée, pour diminuer les coûts de calcul liés aux images de haute résolution. Le modèle s’adapte aussi facilement à des résolutions d’images hétérogènes.
  • DINO : la méthode d’entraînement n’est plus supervisée (images annotées), mais auto-supervisée, où aucune annotation n’est nécessaire. Cette méthode augmente drastiquement la qualité des représentations latentes.

Après avoir exploré les différentes architectures de modèles de vision, il est désormais pertinent de s’interroger sur la manière dont ces outils peuvent être appliqués à la détection d’anomalies.

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

Le mot « norme » vient du latin norma, qui signifiait à l’origine « équerre de charpentier », puis par extension « règle », « modèle », « standard ». Ce terme apparaît en anglais vers 1670 avec le sens d’outil de mesure, et dès les années 1800, on l’utilise dans le sens moderne de « standard ou modèle ».

Une anomalie représente ce qui n’est pas normal, c’est-à-dire qui s’écarte de la norme, du standard. Pour considérer quelque chose comme anormal, il faut trois éléments (Figure 5) :

  • Une entité de référence : Elle définit une norme, souvent à partir de l’étude d’une population (ex : En observant la taille des hommes en France, la taille la plus fréquente est 1,80m. On peut définir la taille normale d’un homme à 1m80),
  • Un score d’anomalie : Il s’agit d’un moyen permettant de quantifier l’écart à la norme d’un individu (ex : Pour un homme de 2m10, sa taille s’écarte de 30 cm de la norme),
  • Un seuil de décision : Définit à partir de quel moment un individu est considéré comme anormal (ex : Au-delà de 20 cm d’écart à la norme, on considère la taille d’un homme comme anormale). On peut choisir le seuil qui maximise une métrique donnée sur un jeu de validation.

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

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

Détection d’anomalies supervisée

Dans ce paradigme, on entraîne un modèle de classification à construire une frontière de décision, entre les images normales et défectueuses, à partir des représentations latentes d’un modèle de vision. En sortie de ce modèle, on obtient un score de défaut pour l’image d’entrée.

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

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

Comparer à la normalité pour détecter une anomalie

La principale limite de l’approche supervisée est sa forte dépendance au jeu d’entraînement : les modèles généralisent mal à de nouveaux types de défauts. Pour pallier ce problème, il existe un large éventail de méthodes de détection d’anomalies. Elles reposent toutes sur une idée commune : apprendre à caractériser ce qui est « normal » dans les données, sans disposer d’exemples d’erreurs, puis signaler automatiquement les écarts à cette normalité. Ces approches peuvent s’appuyer sur différents mécanismes — reconstruction, estimation de densité, modèles génératifs ou encore banques mémoire.

Prenons par exemple le cas d’un modèle banque mémoire :

  • Construction de la normalité : à l’aide d’un modèle de fondation, on extrait pour chaque image normale de l’entraînement la représentation latente de ses patchs. L’ensemble de ces représentations constitue une base qui définit la normalité.
  • Détection d’anomalies : pour chaque patch d’une nouvelle image, on calcule la distance à ses plus proches voisins dans cette base. Plus la distance est grande, plus le patch est susceptible de correspondre à une anomalie.

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

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

Comparer les modèles au sein d’un scénario

Afin de comparer les CNNs et les ViTs, il est pertinent de se placer dans un cas d’usage concret.

Immersion dans une production industrielle de vis

L’automatisation de la détection de défauts n’est pas pertinente dans tous les cas. Elle apporte une réelle valeur ajoutée surtout dans les environnements à forte cadence de production ou lorsque les défauts échappent à l’œil humain.

Pour notre cas d’étude, on se place dans une production fictive à forte cadence de vis, basée sur le dataset MVTec AD. On compare les deux modèles d’anomalies présentés précédemment. Chacun des deux modèles sera décliné en une version basée sur un CNN et une autre sur un ViT.

Bob, le responsable qualité de cette production, nous donne ces informations :

  • 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%.

Dans ce contexte, on cherche à savoir s' il vaut mieux déployer un modèle basé sur un CNN ou sur un ViT pour limiter les coûts liés à la non-qualité.

Estimer les coût de non-qualité

Avec les données sur les coûts de production, et certaines informations sur les clients, 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.

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

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

VP (Vrai Positif) : Le modèle détecte une vis défectueuse → elle est vraiment défectueuse. La vis n’a pas été vendue, mais c’est normal. Pas de gain, ni de perte

FP (Faux Positif) : Le modèle détecte une vis défectueuse → mais la vis est en réalité bonne. Cela représente un manque à gagner de 0,02€ car la vis n’a pas été vendue

VN (Vrai Négatif) : Le modèle détecte une vis conforme → et la vis est vraiment conforme. Le produit est vendu normalement, gain de 0,02€.

FN (Faux Négatif) : Le modèle détecte une vis conforme → mais la vis est en réalité défectueuse. Cela représente un risque important → client insatisfait, retour produit, perte de réputation, coûts de garantie. Pour notre cas fictif, on estime la perte à 0,20€.

Mesurer l’impact opérationnel d’un modèle
Quantifier la performance du modèle

Chaque image est évaluée à l’aide d’un score d’anomalie, puis classée comme « défaut » ou « normale » selon un seuil de décision.

Pour chaque prédiction, on identifie la case correspondante dans la matrice de confusion (vrai positif, faux positif, etc.) et on lui associe le coût ou le gain prévu.

La moyenne de ces valeurs, calculée sur l’ensemble des images, constitue le gain global du modèle.

Maximiser la performance

On fait varier le seuil de classification sur un intervalle donné, on calcule le gain pour chaque valeur, puis on retient le seuil qui maximise ce gain — c’est celui qui offre le meilleur compromis entre détection des défauts et limitation des pertes.

Exemple illustratif de la comparaison de deux seuils sur un jeu de validation contenant 3 images.

Figure : Exemple illustratif de la comparaison de deux seuils sur un jeu de validation contenant 3 images.

Anticiper le passage en production

Lorsque l’on choisit le seuil qui maximise le gain sur le jeu de validation, on risque d’ajuster ce seuil à des particularités propres à cet échantillon : bruit spécifique, distribution légèrement différente, artefacts visuels…

Si le modèle a trop « appris » ces détails, ses performances apparaîtront excellentes pendant la validation mais se dégraderont une fois confronté à de nouvelles images en production.

C’est précisément pour cela qu' une métrique spécifique a été conçue, l’AUGC (Area Under Gain Curve). Elle mesure la stabilité du gain d’un modèle lorsque le seuil de décision varie. Plus l’AUGC est proche de 1, plus votre modèle a de chances de reproduire en production les bénéfices observés en test. Si le gain chute brutalement dès que l’on s’écarte du seuil optimal, il est probable que ce gain soit un “coup de chance” lié au jeu de validation plutôt qu’une capacité générale à séparer bonnes et mauvaises pièces.

Détails du calcul de l’AUGC

  • On trace la courbe représentant le gain en fonction du seuil de classification.
  • On calcule l’aire sous cette courbe et on la compare à l’aire « idéale », où le gain resterait maximal quel que soit le seuil.
  • Après normalisation (aire idéale = 1), on obtient un score entre 0 et 1 qui quantifie la robustesse du gain.

Exemple : Un AUGC de 0,94 signifie que le gain obtenu par le modèle reste très proche de son maximum, quel que soit le seuil choisi ; cela suggère une bonne stabilité des bénéfices attendus en production.

Illustration du calcul de la métrique AUGC

Figure : Illustration du calcul de la métrique AUGC

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.
  • 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 notre modèle dans des conditions réalistes de production.

Au final, pour évaluer un modèle, on se réfère au gain maximal qu’il propose en moyenne sur une distribution représentative de la réalité. On s’assure également que ce gain est au maximum représentatif (AUGC) de ce que l’on pourrait obtenir en production.

Comparaison des modèles

Le fine-tuning des modèles supervisés a été rendu possible en utilisant Huggingface et pytorch lightning. Pour l’évaluation des modèles banque mémoire, ces implémentations de Patchcore et AnomalyDINO ont été reprises.

Note : Meta AI a publié DINOv3 le 14 août 2025, un successeur performant de DINOv2. Les résultats numériques rapportés ici sont basés sur DINOv2. Avec DINOv3, des valeurs différentes sont attendues, mais la conclusion qualitative demeure inchangée.

Gains opérationnels




Conditions stables



20% des images bruitées



Modèle de vision

#Params (M)

AUGC

Gain maximal

AUGC

Gain maximal

DINOV2-S

21

0,95 ± 0,01

1,810 €

0,94 ± 0,01

1,720 €

Swin-t

28

0,95 ± 0,02

1,820 €

0,92 ± 0,02

1,660 €

Wide-resnet50

68

0,93 ± 0,02

1,780 €

0,90 ± 0,02

1,610 €

EfficientnetV2-S

21

0,95 ± 0,01

1,790 €

0,91 ± 0,02

1,640 €

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

Sur données propres, capturées dans des conditions idéales, l’ensemble des modèles affichent des performances comparables, avec un AUGC proche de 0,95 ±0,01 pour les meilleurs. Cependant, lorsque du bruit est introduit (jusqu’à 20 %), les écarts deviennent marqués.

Le modèle DINO-V2-S se démarque par sa robustesse : il maintient un AUGC de 0,94 ±0,01 et un gain unitaire supérieur aux autres architectures, même en contexte dégradé. Cela traduit une meilleure capacité de généralisation face aux perturbations visuelles.

Une tendance similaire est observée pour les modèles à banque mémoire : DINO reste moins sensible au bruit, en particulier lorsqu’il est combiné à la technique de zero-shot masking, qui améliore encore sa stabilité.

Gain opérationnel proposé par les modèles banque mémoire

Figure : Gain opérationnel proposé par les modèles banque mémoire

Contraintes de ressources

Vitesse d’inférence (FPS : Frame Per Second) et coût d’entraînement des modèles.

Figure : Vitesse d’inférence (FPS : Frame Per Second) et coût d’entraînement des modèles.

On observe que deux modèles sont plus lents que les autres en termes de FPS :

  • WideResnet : le modèle contient environ 3 fois plus de paramètres que les autres modèles.
  • Swin-t : Cette architecture nécessite d’exécuter des calculs plus long qu’un transformer comme DINO. Elle se révèle plus efficace sur des très grandes résolutions d’images.

Les deux autres modèles montrent que, pour un nombre de paramètre équivalent, l’architecture CNN se distingue par les coûts les moins élevés, tout en offrant une vitesse d’inférence plus rapide que l’architecture ViT, qui reste tout de même compétitive. Cela fait des CNNs un choix judicieux pour des déploiements nécessitant à la fois rapidité et optimisation des ressources.

Conclusion

Les CNNs restent souvent plus rapides et moins coûteux à entraîner, mais les ViTs (ex. DINO-V2-S) offrent une meilleure robustesse en environnement bruité. Si votre contexte industriel implique des images imparfaites ou des conditions de capture variables, les ViTs sont un meilleur investissement.

Pour un industriel, le choix ne dépend pas uniquement de la performance brute mais du compromis entre robustesse et coût. Dans un environnement contrôlé, les CNNs suffisent. Dans des conditions variables, miser sur les ViTs — malgré un coût initial plus élevé — minimise les coûts liés aux défauts de production.

Si nous avons choisi le contrôle de vis comme fil rouge, c’est avant tout parce qu’il illustre clairement le lien entre architecture, robustesse et impact économique. Mais ce raisonnement peut s’appliquer à d’autres cas industriels, voire même dans d’autres domaines.

On peut imaginer une plateforme sociale qui doit, en un clin d’œil, écarter des millions d’images violentes ou illicites ; un service chargé d’authentifier des documents officiels; ou encore un hôpital qui s’appuie sur l’IA pour lire des radiographies.

Dans chacun de ces univers, les équipes sont confrontées au même défi : trouver l’équilibre entre trouver un maximum de défauts, sans pour autant considérer que la moindre petite déviance en constitue un. Les outils que nous avons comparés — CNN, Vision Transformers, méthodes de détection d’anomalies — ne sont pas confinés qu’aux usines : ils constituent un socle commun pour bâtir des systèmes variés.

Recommandation

Contexte

CNN (ex. EfficientNet)

- Conditions stables
- Forte contrainte budgétaire / matérielle



ViT (ex. DINO-V2-S)

Images bruitées, variabilité accrue

[] Alexey Dosovitskiy et al. « An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale ». In : (2021) International Conference on Learning Representations.

[] Ze Liu et al. « Swin Transformer V2 : Scaling up capacity and resolution ». In : (nov. 2021). arXiv : 2111.09883.

[] Ze Liu et al. « Swin Transformer : Hierarchical vision Transformer using shifted windows ». In : (mars 2021). arXiv : 2103.14030 [cs.CV].

[] Mathilde Caron et al. « Emerging properties in self-supervised vision transformers ». In : (avr. 2021). arXiv : 2104.14294.

[] Maxime Oquab et al. « DINOv2 : Learning robust visual features without supervision ». In : (avr. 2023). arXiv : 2304.07193.

[] Bergmann Paul et al. « The MVTec Anomaly Detection Dataset : A Comprehensive Real-World Dataset for Unsupervised Anomaly Detection ». In : (2021) International Journal Of Computer Vision, 129(4), 1038‑1059.

[] Mingxing Tan et Quoc V Le . « EfficientNet : Rethinking model scaling for convolutional Neural Networks ». In : (mai 2019). arXiv : 1905.11946.

[] Mingxing Tan et Quoc V Le . « EfficientNetV2 : Smaller models and faster training ». In : (avr. 2021). arXiv : 2104.00298.