Comment labelliser des défauts pour l’inspection visuelle IA : guide de l’annotation par bounding box

Le premier modèle de détection de défauts qu’on a entraîné était mauvais, et c’était de notre faute. Les photos étaient bonnes et le modèle aussi. Les boîtes qu’on dessinait autour des défauts partaient dans tous les sens, et le modèle a appris exactement ce qu’on lui montrait, c’est-à-dire la confusion.
Depuis, on a labellisé beaucoup de pièces, tout comme les gens avec qui on travaille, et c’est toujours la même poignée de choses qui revient. Aucune n’est compliquée. La plupart sont évidentes dès que quelqu’un te les montre. Ce guide, c’est ce quelqu’un qui te les montre.
En bref
Prends des photos sous différents angles, à différentes distances et sous différents éclairages pour que le modèle apprenne le défaut et pas l’installation. Ensuite, labellise chaque défaut dans chaque image, dessine chaque boîte au plus près, labellise toujours de la même façon, laisse se chevaucher les boîtes de types de défauts différents et commence avec des classes fines que tu pourras fusionner plus tard. En pratique, une boîte honnête vaut mieux que dix défauts ratés, les échantillons ambigus n’ont rien à faire dans le dataset et, si deux personnes la dessineraient différemment, la boîte est sans doute mauvaise.
Prendre les photos : un seul principe
Un modèle généralise à partir de la variété. Si chaque photo d’une piqûre est prise du même endroit sous la même lampe, il apprend cet endroit et cette lampe, et la première fois qu’une pièce arrive légèrement tournée, il perd ses moyens. La seule chose qui vaut vraiment la peine pendant la collecte des images d’entraînement, c’est donc de bouger.
Différents angles. Tourne autour du défaut et photographie-le de plusieurs côtés. La même piqûre n’a pas le même aspect vue de face et à 45 degrés, et le modèle doit rencontrer les deux.

Différents éclairages et différents fonds. Lumière forte, lumière faible, à l’ombre, sur l’établi, sur la ligne. C’est en changeant de fond que le modèle apprend à l’ignorer.

Différentes distances. Rapproche-toi, puis recule. Un défaut qui remplit le cadre et un défaut qui n’est qu’un point dans un coin, il verra les deux en production.

Si ta caméra est fixe sur la ligne, rien de tout ça ne pose problème. Une position fixe te donne des images très régulières et un modèle très bon sur cette vue précise. La variété compte surtout quand l’iPhone est tenu à la main, ou quand un même modèle doit couvrir plusieurs postes.
Labelliser : cinq piliers
Ce ne sont pas des règles Enao. Elles valent pour toute annotation d’images destinée à la détection d’objets, et elles font la différence entre un modèle sûr de lui et un modèle qui te demande sans arrêt de revérifier.
1. Labellise chaque défaut de l’image

C’est celui qu’on a raté en premier. Si une image contient trois défauts et que tu en encadres deux, tu viens de dire au modèle que le troisième fait partie du fond. Fais ça quelques dizaines de fois dans un dataset et les vraies alarmes se mélangent aux fausses, parce que le même motif a été montré dans les deux rôles. Si tu le vois, encadre-le.
2. Dessine la boîte au plus près du défaut

Une boîte ajustée avec quelques pixels de marge apprend au modèle tout le motif du défaut et rien d’autre. Coupe-la trop court et une partie du motif disparaît. Laisse-la trop large et le modèle doit apprendre à ignorer tout ce fond, ce qui demande plus d’exemples que personne n’a envie d’en labelliser. En plus, une boîte ajustée est plus rapide à dessiner, ce qui ne gâche rien.
3. Labellise toujours de la même façon

Il y a deux façons parfaitement valables de traiter un amas de petits défauts. Encadrer chacun, ou dessiner une seule boîte autour du groupe. Les deux marchent. Ce qui ne marche pas, c’est de faire un peu des deux, parce que le modèle voit alors la même situation labellisée de deux façons et ne sait pas trancher. Choisis celle que ton équipe trouve la plus facile à appliquer de façon constante, et note-la quelque part.
4. Des boîtes de défauts différents peuvent se chevaucher

Une rayure qui passe sur une tache, c’est la vie normale. Encadre la rayure, encadre la tache, laisse-les se chevaucher. Un chevauchement partiel ne pose aucun problème. Ce qu’il faut éviter, ce sont deux boîtes de classes différentes posées presque exactement l’une sur l’autre, parce qu’il n’y a alors aucun moyen d’apprendre à quelle classe appartiennent les pixels.
5. Commence détaillé, fusionne plus tard

Si tu n’es pas sûr que rayure profonde, rayure fine et trace de frottement forment une classe ou trois, commence avec trois. Fusionner plus tard, c’est un clic. Scinder une classe que tu as regroupée, c’est tout reprendre depuis le début. Le signe qu’il est temps de fusionner, c’est quand le modèle confond sans cesse deux classes, ce qui veut généralement dire qu’elles se ressemblent pour la caméra même si elles signifient des choses différentes pour toi.
En pratique : quatre choses qu’on a apprises à nos dépens
Les piliers, ce sont les règles. Voici les arbitrages qui n’apparaissent qu’une fois que tu es vraiment assis à dessiner des boîtes.
Beaucoup de défauts, une seule boîte

Quinze minuscules boîtes autour de quinze points, ça prend une éternité, et vers la onzième boîte tu vas en rater un. On le sait parce que ça nous est arrivé. Une boîte honnête autour de tout l’amas va plus vite, et le modèle s’en accommode très bien. La constance compte plus que la petite taille des boîtes.
Sois efficace, pas dogmatique

Parfois, la bonne réponse, c’est une boîte pour le groupe et une pour le défaut isolé. Oui, c’est mélanger les styles. C’est quand même mieux qu’une boîte énorme pleine de fond juste pour attraper le défaut isolé, ou que quinze boîtes individuelles dont trois ratées. La règle sous toutes les règles, c’est de labelliser de sorte que la personne suivante labellise exactement de la même façon.
Sors les échantillons ambigus du dataset

Certaines images sont tout simplement impossibles à labelliser de façon constante. Trois défauts qui se chevauchent, des bords impossibles à séparer, cinq personnes qui dessineraient cinq jeux de boîtes différents. Retire-les et ne culpabilise pas. Un dataset propre de deux cents images vaut mieux qu’un dataset bruité de mille, et le modèle détectera quand même les défauts qui se chevauchent en production. Il ne doit simplement pas apprendre à partir d’eux.
Mieux vaut plus de fond que des boîtes subjectives

Une longue rayure peut faire une boîte ou six courtes, et si tu laisses chacun décider, tu auras les deux. Une boîte avec un peu plus de fond, c’est la même pour tout le monde. Chaque fois qu’une décision de labellisation dépend de qui tient la souris, agrandis la boîte jusqu’à ce qu’elle n’en dépende plus.
De combien d’images as-tu besoin ?
Moins que tu ne le penses, si elles sont bonnes. Pour un type de défaut sur un produit, 25 à 50 images bien labellisées suffisent généralement pour un premier modèle que tu peux mettre sur la ligne et faire progresser. Ce qui coule les projets, ce n’est pas le manque d’images, c’est cent images labellisées de trois façons différentes. Commence petit, labellise avec soin, teste, puis ajoute des images là où le modèle est le plus faible.
FAQ
Qu’est-ce que l’annotation par bounding box ?
C’est dessiner un rectangle, appelé boîte englobante, autour de chaque chose que le modèle doit trouver, ici chaque défaut, pour qu’il apprenne à quoi elle ressemble et où elle a tendance à apparaître. C’est le type d’annotation d’images le plus courant pour l’inspection visuelle.
La boîte doit-elle inclure du fond ?
Quelques pixels de marge, pas plus. Assez pour que le bord du défaut soit dans la boîte, pas au point que le modèle doive apprendre à ignorer ce qui l’entoure.
Comment labelliser un défaut partiellement caché ?
Encadre au plus près la partie que tu vois. Ne devine pas le reste. Si le défaut est caché en grande partie, demande-toi si l’image a sa place dans le dataset.
Faut-il aussi labelliser les bonnes pièces ?
Oui, en ne les encadrant pas. Les images sans défaut et sans boîte apprennent au modèle à quoi ressemble la normale, et tu en as autant besoin que des images de défauts.
Et si deux personnes ne sont pas d’accord sur un label ?
C’est le signe qu’il faut changer la règle, pas désigner un gagnant. Agrandis la boîte, fusionne les classes ou retire l’échantillon jusqu’à ce que les deux personnes le dessinent de la même façon.
Essaie sur tes propres pièces
Le meilleur moyen de vérifier si tout ça tient la route, c’est de labelliser 25 images d’une pièce de ta propre ligne et d’entraîner un modèle dessus. Essaie la démo, sans inscription, en soixante secondes ou démarre gratuitement.
Explore with AI
Discuss this article with your favorite AI assistant