Cómo etiquetar defectos para la inspección visual con IA: guía de anotación con cajas delimitadoras

El primer modelo de detección de defectos que entrenamos era malísimo, y la culpa fue nuestra. Las fotos estaban bien y el modelo estaba bien. Las cajas que dibujamos alrededor de los defectos no seguían ningún criterio, y el modelo aprendió exactamente lo que le enseñamos, que era confusión.
Desde entonces hemos etiquetado muchísimas piezas, igual que la gente con la que trabajamos, y siempre sale el mismo puñado de cosas. Ninguna es complicada. La mayoría son obvias en cuanto alguien te las señala. Este artículo es ese alguien señalándolas.
Resumen rápido
Haz fotos desde distintos ángulos, distancias e iluminaciones para que el modelo aprenda el defecto y no el montaje. Después etiqueta todos los defectos de cada imagen, dibuja cada caja ajustada, etiqueta siempre de la misma forma, deja que se solapen las cajas de distintos tipos de defecto y empieza con clases detalladas que puedas fusionar más adelante. En la práctica, una caja honesta vale más que diez olvidadas, las muestras confusas sobran en el dataset y, si dos personas la dibujarían de forma distinta, probablemente la caja está mal.
Hacer las fotos: un principio
Un modelo generaliza a partir de la variedad. Si todas las fotos de un poro se hacen desde el mismo sitio y bajo la misma lámpara, aprende ese sitio y esa lámpara, y la primera vez que llega una pieza un poco girada se pone nervioso. Así que lo único que merece la pena hacer mientras recoges imágenes de entrenamiento es moverte.
Distintos ángulos. Rodea el defecto y fotografíalo desde varios lados. El mismo poro se ve distinto de frente y a 45 grados, y el modelo debe conocer ambas vistas.

Distinta luz y distinto fondo. Con mucha luz, con poca, a la sombra, en el banco de trabajo, en la línea. Cambiar el fondo es la forma en que el modelo aprende a ignorarlo.

Distintas distancias. Acércate y aléjate. Un defecto que llena el encuadre y un defecto que es una mota en una esquina son dos cosas que el modelo verá en producción.

Si tu cámara está fija en la línea, nada de esto es un problema. Una posición fija te da imágenes muy homogéneas y un modelo muy bueno en esa vista concreta. La variedad importa sobre todo cuando llevas el iPhone en la mano o cuando un mismo modelo tiene que cubrir más de un puesto.
Etiquetar: cinco pilares
No son reglas de Enao. Sirven para cualquier anotación de imágenes para detección de objetos, y marcan la diferencia entre un modelo seguro de sí mismo y uno que no para de pedirte que lo revises.
1. Etiqueta todos los defectos de la imagen

Este es el que primero hicimos mal. Si una imagen tiene tres defectos y solo pones caja a dos, le acabas de decir al modelo que el tercero es fondo. Hazlo unas cuantas docenas de veces en un dataset y las alarmas reales y las falsas empiezan a mezclarse, porque el mismo patrón se ha mostrado como ambas cosas. Si lo ves, ponle una caja.
2. Dibuja la caja ajustada al defecto

Una caja ajustada con unos pocos píxeles de margen enseña el patrón completo del defecto y nada más. Si la recortas, falta parte del patrón. Si la dejas holgada, el modelo tiene que aprender a ignorar todo ese fondo, y eso exige más ejemplos de los que nadie quiere etiquetar. Además, una caja ajustada se dibuja más rápido, lo cual es un buen extra.
3. Etiqueta siempre de la misma forma

Hay dos formas perfectamente válidas de tratar un grupo de defectos pequeños: poner una caja a cada uno o dibujar una sola caja alrededor del grupo. Las dos funcionan. Lo que no funciona es hacer un poco de cada, porque entonces el modelo ve la misma situación etiquetada de dos formas y no sabe decidirse. Elige la que a tu equipo le resulte más fácil de aplicar con coherencia y déjala por escrito en algún sitio.
4. Que se solapen cajas de defectos distintos no es un problema

Que una rayadura pase por encima de una mancha es lo más normal del mundo. Pon una caja a la rayadura, otra a la mancha y deja que se solapen. Un solapamiento parcial no da ningún problema. Lo que hay que evitar son dos cajas de clases distintas colocadas casi exactamente una encima de la otra, porque entonces no hay forma de aprender a qué clase pertenecen los píxeles.
5. Empieza con detalle, fusiona después

Si no tienes claro si la rayadura profunda, la rayadura fina y la marca de roce son una clase o tres, empieza con tres. Fusionar después es un clic. Separar una clase que metiste en el mismo saco supone repasarlo todo otra vez. La pista de que toca fusionar es que el modelo confunde una y otra vez dos clases entre sí, lo que suele significar que para la cámara se parecen aunque para ti signifiquen cosas distintas.
En la práctica: cuatro cosas que aprendimos por las malas
Los pilares son las reglas. Estas son las decisiones de criterio que solo aparecen cuando de verdad estás sentado dibujando cajas.
Muchos defectos, una caja

Quince cajas diminutas alrededor de quince motas llevan una eternidad, y hacia la caja número once se te escapará alguna. Lo sabemos porque nos pasó. Una caja honesta alrededor de todo el grupo es más rápida, y al modelo no le importa. La coherencia gana a las cajas pequeñas.
Sé eficiente, no dogmático

A veces la respuesta correcta es una caja para el grupo y otra para el defecto aislado. Sí, eso es mezclar estilos. Aun así es mejor que una caja enorme llena de fondo solo para atrapar el defecto aislado, o que quince cajas individuales con tres olvidadas. La regla que está por debajo de todas las reglas es etiquetar de forma que la siguiente persona lo etiquetaría igual.
Saca las muestras confusas del dataset

Algunas imágenes son sencillamente imposibles de etiquetar con coherencia. Tres defectos solapados, bordes que no puedes separar, cinco personas que dibujarían cinco juegos de cajas distintos. Sácalas y no te sientas mal por ello. Un dataset limpio de doscientas imágenes vale más que uno ruidoso de mil, y el modelo seguirá detectando defectos solapados en producción. Simplemente no debe aprender de ellos.
Mejor más fondo que cajas subjetivas

Una rayadura larga puede ser una caja o seis cortas, y si lo dejas en manos de cada uno obtendrás las dos cosas. Una caja con un poco de fondo de más es igual para todos. Siempre que una decisión de etiquetado dependa de quién tenga el ratón, agranda la caja hasta que deje de depender.
¿Cuántas imágenes necesitas?
Menos de las que crees, si son buenas. Para un tipo de defecto en un producto, entre 25 y 50 imágenes bien etiquetadas suelen bastar para un primer modelo que puedas poner en la línea y del que puedas aprender. Lo que suele hundir los proyectos no es tener pocas imágenes, sino tener cien imágenes etiquetadas de tres formas distintas. Empieza con poco, etiqueta con cuidado, pruébalo y luego añade imágenes donde el modelo flojee más.
Preguntas frecuentes
¿Qué es la anotación con cajas delimitadoras?
Es dibujar un rectángulo alrededor de cada cosa que quieres que encuentre el modelo, en este caso cada defecto, para que aprenda qué aspecto tiene y dónde suele aparecer. Es el tipo de anotación de imágenes más habitual en la inspección visual.
¿La caja debe incluir fondo?
Unos pocos píxeles de margen, no más. Lo suficiente para que el borde del defecto quede dentro de la caja, pero no tanto como para que el modelo tenga que aprender a ignorar el entorno.
¿Cómo etiqueto un defecto que está parcialmente oculto?
Pon una caja ajustada a la parte que se ve. No intentes adivinar el resto. Si la mayor parte está oculta, plantéate si esa imagen debería estar en el dataset.
¿También etiqueto las piezas buenas?
Sí, dejándolas sin caja. Las imágenes sin defectos y sin cajas le enseñan al modelo cómo es lo normal, y las necesitas tanto como las imágenes con defectos.
¿Y si dos personas no están de acuerdo con una etiqueta?
Es señal de que hay que cambiar la regla, no de elegir un ganador. Agranda la caja, fusiona las clases o descarta la muestra hasta que los dos la dibujéis igual.
Pruébalo con tus propias piezas
La mejor forma de comprobar si todo esto se cumple es etiquetar 25 imágenes de algo de tu propia línea y entrenar un modelo con ellas. Prueba la demo, sin registro y en sesenta segundos o empieza gratis.
Explore with AI
Discuss this article with your favorite AI assistant