Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Segmentación: una etiqueta para cada píxel

Un segmentador examina 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 exactamente está el rayón? ¿Qué tan grande es la mancha? ¿Cuántas pastillas hay en la bandeja? Sacrifica 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 (paleta más contornos de formas). Las Clases son los colores de pintura 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.

Las recetas del OV80i pueden combinar segmentadores y clasificadores

El OV80i es la única cámara de la línea que admite recetas multi-modelo. Combine un segmentador (para máscaras, conteos y mediciones) con un clasificador (para veredictos sobre categorías conocidas) dentro de una sola inspección. Vea Understanding Classifier para la otra mitad.

Los tres conceptos

Antes de poder entrenar un modelo de AI, la cámara necesita saber dónde mirar, cuáles son los resultados posibles 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 es dueño de 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 en la imagen en varios lugares; esos sellos 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
  • Tipo de Inspección es el contenedor.
  • Clases son el vocabulario de resultados.
  • ROI es una ubicación en la imagen.

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

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 de un menú desplegable, pinta los defectos con brocha 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 de metal cepillado con dos rayones, una abolladura y una mancha. Lo configuraría así:

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

En lugar de elegir una etiqueta para toda la región, 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, pinta cada píxel de defecto. 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. Más área de superficie = más píxeles que evaluar. Aun así, respete la regla de 512 × 512; divida en mosaicos si el área es enorme.
  3. Las clases son tipos de defectos. No aprobado/rechazado, cada clase es algo distinto que desea localizar: scratch, dent, stain. Más un background implícito.

Análisis profundo: 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 en el color de esa clase. Cada píxel dentro de la ROI termina asignado a exactamente una clase, incluyendo la predeterminada background.

CLASS PALETTEbackgroundscratchdentstain+ add classpick a class →brush loads its colorPAINT IN THE ROIeverything unpainted = background
  1. Definir una vez en el tipo. Agregue una clase (p. ej. burn_mark) y asígnele un color. Cada ROI de este tipo ahora tiene ese color disponible en su paleta.
  2. El background es gratis. No pinta los píxeles de "no hay nada malo aquí". 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. Comience simple. Dos o tres clases de defectos generalmente superan a seis vagas. Combine defectos similares hasta que al modelo le cueste distinguirlos, luego divídalos.

Análisis profundo: cómo se comportan las ROIs

La Regla de Oro de las ROIs

Las regiones más pequeñas ganan. Haga que cada ROI sea lo suficientemente grande para contener la característica. ROIs más pequeñas 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.

Aún pequeñas, aún específicas, incluso para segmentadores

Es tentador dibujar una ROI gigante sobre una superficie entera, pero la Regla de Oro sigue aplicándose. La ROI de un segmentador se reduce de escala para ajustarse a la entrada del modelo, igual que la de un clasificador, y un defecto que solo tiene 20 píxeles de ancho desaparece cuando se reduce una 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. Mantenga 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. Una ROI pequeña mantiene cada píxel en resolución completa, por lo que la máscara se alinea con los límites reales del defecto.
  3. ¿Superficie grande? Divídala en cuadrícula. No estire una sola ROI a través de un panel entero. Coloque una cuadrícula de ROIs más pequeñas para que cada mosaico se mantenga a 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 la ROI; el modelo aprende de todas ellas.
  5. Salidas ricas. Por cada ROI obtiene conteos de píxeles por clase, bounding boxes para cada región de defecto y áreas medibles, suficiente para reglas de aprobado/rechazado basadas en el 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 la ROI de la imagen completa, la 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 defecto y bounding boxes.

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. Capture el cuadro completo con la ROI marcada.
  2. Recorte la ROI a una sola imagen, manteniéndola en o por debajo de 512 × 512 px.
  3. El modelo segmentador predice una clase para cada píxel usando 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 bounding boxes 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 llegará por la línea con solo sus bordes o parches dispersos resaltados — la mayor parte del defecto queda sin enmascarar.

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

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

Solución: incluya ejemplos de entrenamiento que abarquen el rango completo de tamaños que espera en la línea. Un puñado de capturas de contaminantes grandes junto a las pequeñas suele ser suficiente. El mismo principio aplica a 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 verdadero, 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 tengan sus propias clases, conjunto de datos y modelo.
  • Las clases representan tipos de defecto, no severidad. scratch, dent, stain, cada una una cosa visual distinta. La severidad y el aprobado/rechazado provienen de los conteos de píxeles de la máscara más adelante.
  • El fondo es implícito. Nunca pinta ni etiqueta píxeles "buenos". Cualquier cosa sin pintar pertenece al background.
  • ROIs dimensionados con criterio. Cubra el área de interés, pero manténgase por debajo de 512 × 512 px por ROI. Divida en 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 una verificación de calidad.
  • Los datos de entrenamiento abarcan el rango completo de tamaños de defecto que espera en producción (vea el aviso de error común arriba). Un modelo entrenado con ejemplos pequeños no se 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é equivocada, vuelva a entrenar. De dos a cuatro iteraciones es lo típico.

Qué sigue