Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Segmentación: una etiqueta para cada píxel

Un segmentador observa una región recortada y responde a una pregunta más rica: no solo qué hay aquí, sino dónde y cuánto. ¿Dónde está exactamente la raya? ¿Qué tan grande es la mancha? ¿Cuántas pastillas hay en la bandeja? Cambia la velocidad del clasificador por una máscara píxel por píxel, el detalle espacial que necesita para medir, contar o localizar defectos.

La configuración se basa en la misma jerarquía que un clasificador: los Tipos son dueños de las Clases, y los Tipos se estampan sobre las imágenes como ROIs.

Piénselo como un kit de pintar por números. El Tipo de Inspección es el kit (la paleta más los contornos de las formas). Las Clases son los colores de pintura entre los que elige. Las ROIs son los lienzos sobre los que pinta cada captura, y cada píxel pintado termina asignado a exactamente una clase, incluyendo el background implícito.

Los tres conceptos

Antes de poder entrenar un modelo de AI, la cámara necesita saber dónde mirar, cuáles son los posibles resultados y cómo debe evaluarse cada recorte. Esas tres preguntas se asignan a tres conceptos, y se anidan de una manera muy específica.

01 / Concept

Inspection Type

A named bucket. Holds one shared dataset, one shared list of classes, and one trained AI model.

02 / Concept

Classes

The vocabulary of possible outcomes for this inspection. Defined once on the type.

03 / Concept

Region of Interest (ROI)

A rectangle drawn on the image. Many ROIs can share one type and, therefore, one dataset and one model.

El modelo mental: un tipo posee las clases y las ROIs

Un Tipo de Inspección es un contenedor. Contiene un conjunto de datos compartido, una lista compartida de clases y un modelo de AI entrenado. Luego estampa ese contenedor sobre la imagen en múltiples lugares; esos estampados son las ROIs. Cada ROI del mismo tipo hereda las mismas clases y es evaluada por el mismo modelo.

INSPECTION TYPEone bucket1 dataset · 1 model · N ROIsCLASSES · DEFINED ONCEclass_aclass_bclass_c+ addAdd or edit classes here andevery ROI on this type updates.Single source of truth.ROIs · PLACED ON IMAGEroi_1roi_2roi_3roi_4roi_5+ add ROIEach ROI is a tight crop at a specificlocation, evaluated by the same model.All share one dataset.classes applied to ROIs
  • El Tipo de Inspección es el contenedor.
  • Las Clases son el vocabulario de resultados.
  • La ROI es una ubicación en la imagen.

Para un segmentador: una etiqueta para cada píxel, pintada, no elegida

Un segmentador toma cada recorte de ROI y hace algo más rico que elegir una clase: etiqueta cada píxel. En lugar de elegir una respuesta en un menú desplegable, usted pinta los defectos sobre las imágenes de entrenamiento, y el modelo aprende la forma de cada clase. La salida por ROI es una máscara, un mapa píxel por píxel que puede medir, localizar y contar.

Ejemplo en vivo: detección de defectos superficiales

Imagine una superficie metálica cepillada con dos rayas, una abolladura y una mancha. La configuraría así:

Surface_Top · segmentbrush · scratch
  • Tipo: Surface Quality (1 ROI, segmentador)
  • Clases: background (implícita), scratch, dent, stain
  • ROI: Surface_Top (cubre el área inspeccionable)

En lugar de elegir una etiqueta para toda la región, usted pinta cada defecto con el color de su clase. La salida del modelo es una máscara, desglosada por clase:

ClaseCobertura
background93.5%
scratch3.1%
dent1.4%
stain2.0%

Tres cosas que debe interiorizar de este ejemplo:

  1. Pinte, no elija. En lugar de elegir una etiqueta para toda la ROI, pinte cada defecto píxel por píxel. El modelo aprende la forma de cada clase, no solo si está presente.
  2. La ROI es territorio de píxeles. El segmentador mira dentro de la ROI y etiqueta cada píxel. Mayor área superficial = más píxeles para evaluar. Respete igualmente la regla de 512 × 512; divida en mosaicos si el área es enorme.
  3. Las clases son tipos de defectos. No es aprobado/rechazado; cada clase es una cosa distinta que quiere localizar: scratch, dent, stain. Más un background implícito.

Análisis a fondo: cómo se comportan las clases

Cada clase es un color en la paleta

En un segmentador, las clases no son etiquetas que eliges de un menú desplegable, son pintura que aplicas. Selecciona una clase y tu pincel comienza a escribir píxeles con el color de esa clase. Cada píxel en el ROI termina asignado a exactamente una clase, incluyendo el background predeterminado.

CLASS PALETTEbackgroundscratchdentstain+ add classpick a class →brush loads its colorPAINT IN THE ROIeverything unpainted = background
  1. Defínelo una vez en el tipo. Agrega una clase (p. ej. burn_mark) y dale un color. Cada ROI de este tipo ahora tiene ese color disponible en su paleta.
  2. El fondo es gratis. No pintas los píxeles de "aquí no hay nada mal". Cualquier píxel sin pintar es automáticamente background.
  3. Una clase por píxel. Pintar con dent sobre un scratch reemplaza la etiqueta, las clases no se pueden apilar en un solo píxel.
  4. Empieza simple. Dos o tres clases de defectos generalmente superan a seis clases vagas. Fusiona defectos similares hasta que el modelo tenga dificultades para distinguirlos, luego divídelos.

Análisis a fondo: cómo se comportan los ROIs

La Regla de Oro de los ROIs

Las regiones más pequeñas ganan. Haz cada ROI lo suficientemente grande para contener la característica. ROIs más pequeños significan menos datos de entrenamiento, iteración más rápida y decisiones de AI más precisas, la característica domina el recorte en lugar de perderse en el fondo, y nada se reduce de escala.

Pequeño y específico, incluso para los segmentadores

Es tentador dibujar un ROI gigante sobre toda una superficie, pero la Regla de Oro sigue aplicando. El ROI de un segmentador se reduce de escala para ajustarse a la entrada del modelo, al igual que el de un clasificador, y un defecto que tiene solo 20 píxeles de ancho desaparece cuando reduces un ROI de 2000 píxeles de ancho a 512.

GOOD · TIGHT ROIfull resolution preservedHUGE SURFACE · GRID TILEeach tile stays full-resPER-ROI OUTPUTMASK · Surface_Topbackground93.5%scratch3.1%dent1.4%stain2.0%largest regionscratch · 280 × 38 pxdefect count3
  1. Mantén cada ROI por debajo de 512 × 512 px. Más allá de eso, el detalle se pierde permanentemente debido a la reducción de escala. Los defectos pequeños se vuelven invisibles.
  2. Recortes ajustados significan máscaras ajustadas. Un ROI pequeño mantiene cada píxel a resolución completa, por lo que la máscara se alinea con los límites reales del defecto.
  3. ¿Superficie grande? Divídela en cuadrícula. No estires un ROI a través de un panel completo. Coloca una cuadrícula de ROIs más pequeños para que cada mosaico permanezca en resolución completa y el modelo pueda ver defectos finos.
  4. Las máscaras persisten por captura. Cada imagen de entrenamiento almacena su propia máscara pintada para el ROI; el modelo aprende de todas ellas.
  5. Salidas ricas. Por cada ROI obtienes conteos de píxeles por clase, cajas delimitadoras para cada región de defecto y áreas medibles, suficiente para reglas de aprobado/rechazado basadas en tamaño.

Flujo de datos: cada ROI regresa con una máscara, no con una etiqueta

En tiempo de ejecución, la cámara recorta el ROI de la imagen completa, lo alimenta al segmentador entrenado y obtiene una predicción por píxel, una máscara del mismo tamaño donde cada píxel lleva una clase. A partir de esa máscara, la cámara deriva conteos de píxeles, regiones de defectos y cajas delimitadoras.

1 · CAPTUREFull frame + ROI2 · CROP≤ 512 × 512 px crop3 · SEGMENTER MODELSurface Quality · trainedencode → bottleneck → decodepredicts a class per pixel4 · MASK OUTPUTscratch3.1%dent1.4%stain2.0%total defect6.5%ruleFAIL > 2%
  1. Captura el frame completo con el ROI marcado.
  2. Recorta el ROI a una sola imagen, mantenida en o por debajo de 512 × 512 px.
  3. El modelo segmentador predice una clase para cada píxel utilizando una arquitectura encoder-decoder.
  4. La salida de la máscara es un mapa de píxeles coloreado más conteos de píxeles por clase, más cajas delimitadoras para cada región conectada. Las reglas de aprobado/rechazado se ejecutan sobre esos números en el Bloque IO.

Sea creativo: una máscara es un objeto geométrico

Una vez que el segmentador devuelve una máscara, no está limitado a aprobado/rechazado. Tiene la forma y ubicación exactas de cada clase, lo que significa que puede derivar mediciones, conteos, distancias y relaciones espaciales. Eso desbloquea toda una categoría de inspecciones que no se parecen en nada a "encontrar el rasguño", y el mismo segmentador puede servir para todas ellas.

AREA4.8 mm²
01 / Measure

Area & coverage

Pixel counts become mm² on a calibrated camera. Set pass/fail in real-world units, "reject if stain > 3 mm²", instead of fuzzy percentages.

1234COUNT · scratch4
02 / Count

Distinct blobs

Four small pits tell a different story than one big one. Count connected regions per class to flag defect frequency, not just total coverage.

L = 52 mmWL × W52 × 4 mm
03 / Measure

Dimensions & shape

Length, width, aspect ratio, orientation, all fall out of the mask. Flag long scratches, ignore micro ones. Or flag round dents and ignore elongated ones.

24.6 mmDIST · blob → blob24.6 mm
04 / Relate

Blob-to-blob distance

Euclidean gap between two painted regions, centroid-to-centroid or nearest-edge. Useful for component spacing, pin pitch, weld-to-weld gaps, or detecting defect clusters.

edge8.2 mmDIST · defect → edge8.2 mm
05 / Relate

Distance to a reference

Paint a second class for your reference (edge, fiducial, adjacent component) then measure how far the defect sits from it. A defect 8 mm inside might be fine; 0.5 mm from the edge might be a reject.

COUNT · pills12
06 / Expand

Not just defects

Paint whatever you want to find: pills in a blister, screws in a tray, weld beads, gaps, fiducials, cells on a slide. Segmentation is a general-purpose scalpel, not a defect-only tool.

Error común: entrene a la escala a la que va a inspeccionar

Un segmentador solo aprende el tamaño y la textura de los defectos que se le mostraron. Entrénelo con contaminantes pequeños y una pieza grande de la misma clase de defecto a menudo bajará por la línea con solo sus bordes o parches dispersos resaltados — la mayor parte del defecto queda sin enmascarar.

El modo de fallo "entrenado pequeño, probado grande"

Si su conjunto de entrenamiento no tiene más que ejemplos pequeños de un defecto, el modelo trata la versión grande como "principalmente fondo con algunos parches pequeños con forma de defecto". La máscara se ve irregular o solo marca los bordes/esquinas del defecto real en lugar de cubrirlo.

Solución: incluya ejemplos de entrenamiento que abarquen todo el rango de tamaños que espera ver en la línea. Un puñado de capturas de contaminantes grandes junto con las pequeñas suele ser suficiente. El mismo principio aplica para la variación de textura y color — entrene con la variedad que verá en producción.

¿No tiene muestras de defectos grandes? Use el Defect Creator Studio para generar imágenes de entrenamiento sintéticas del mismo defecto en diferentes tamaños, ubicaciones y orientaciones — sin necesidad de esperar a que un contaminante grande real baje por la línea.

Resumen de configuración

Una lista de verificación rápida antes de entrenar. Si cada uno de estos puntos es cierto, su segmentador tendrá una base sólida.

  • Un Tipo de Inspección por superficie. ¿Inspecciona dos materiales diferentes o familias de defectos? Asigne a cada uno su propio tipo para que obtengan sus propias clases, conjunto de datos y modelo.
  • Las clases representan tipos de defectos, no severidad. scratch, dent, stain, cada uno una cosa visual distinta. La severidad y el aprobado/rechazado provienen de los conteos de píxeles de la máscara aguas abajo.
  • El fondo es implícito. Usted nunca pinta ni etiqueta los píxeles "buenos". Cualquier cosa sin pintar pertenece a background.
  • ROIs dimensionados cuidadosamente. Cubra el área de interés, pero manténgase por debajo de 512 × 512 px por ROI. Use mosaico de cuadrícula si la superficie es más grande.
  • Pinte cada defecto visible. Los defectos omitidos en los datos de entrenamiento le enseñan al modelo que son fondo, la peor lección posible para un control de calidad.
  • Los datos de entrenamiento abarcan el rango completo de tamaños de defectos que espera en producción (vea el aviso de error común más arriba). Un modelo entrenado con ejemplos pequeños no generalizará a los grandes.
  • Comience con 10 a 15 imágenes por clase. Entrene, ejecute la Vista Previa en Vivo, agregue imágenes específicas donde la máscara esté incorrecta, vuelva a entrenar. De dos a cuatro iteraciones es lo típico.

Qué sigue