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 una pregunta más rica: no solo qué hay aquí, sino dónde y cuánto. ¿Dónde está exactamente el rayón? ¿Qué tan grande es la mancha? ¿Cuántas pastillas hay en la bandeja? Sacrifica la velocidad del clasificador a cambio de 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 poseen Clases, y los Tipos se estampan en 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 que puede elegir. Las ROIs son los lienzos sobre los que pinta cada captura, y cada píxel pintado termina asignado exactamente a 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
  • 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 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 de un menú desplegable, 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 en superficies

Imagine una superficie metálica cepillada con dos rayones, 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, 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 internalizar 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 superficial = más píxeles para evaluar. Aún así respete la regla de 512 × 512, divida en cuadrícula si el área es enorme.
  3. Las clases son tipos de defecto. No aprobado/rechazado, cada clase es algo distintivo 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 elige de un menú desplegable, son pintura que aplica. Seleccione una clase, y su pincel comienza a escribir píxeles en el color de esa clase. Cada píxel en la ROI termina asignado exactamente a una clase, incluyendo el background por defecto.

CLASS PALETTEbackgroundscratchdentstain+ add classpick a class →brush loads its colorPAINT IN THE ROIeverything unpainted = background
  1. Defínalo una vez en el tipo. Agregue una clase (por ejemplo, burn_mark) y dele 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 donde "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. Comience simple. Dos o tres clases de defectos generalmente superan a seis vagas. Combine defectos similares hasta que el modelo tenga dificultades para 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 apenas lo suficientemente grande para contener la característica. Las 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 los segmentadores

Es tentador dibujar una ROI gigante sobre toda una superficie, pero la Regla de Oro aún aplica. 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 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 a 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 ROI a través de todo un panel. Coloque una cuadrícula de ROIs más pequeñas para que cada celda permanezca 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 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 tamaño.

Flujo de datos: cada ROI regresa con una máscara, no 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 defectos 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 hasta una sola imagen, mantenida en o por debajo de 512 × 512 px.
  3. El modelo segmentador predice una clase para cada píxel usando una arquitectura de codificador-decodificador.
  4. La salida de 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 al 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 rayón", y el mismo segmentador puede atenderlas todas.

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.

Resumen de configuración

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

  • Un Tipo de Inspección por superficie. ¿Inspeccionando dos materiales o familias de defectos diferentes? Dele a cada uno su propio tipo para que tengan sus propias clases, conjunto de datos y modelo.
  • Las clases representan tipos de defecto, no gravedad. scratch, dent, stain, cada uno una cosa visual distintiva. La gravedad y el aprobado/rechazado provienen de los conteos de píxeles de la máscara más adelante.
  • El background es implícito. Nunca pinta ni etiqueta píxeles "buenos". Cualquier cosa sin pintar pertenece a background.
  • ROIs dimensionadas con cuidado. 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 background, la peor lección posible para una verificación de calidad.
  • 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. Dos a cuatro iteraciones es lo típico.

Qué sigue