Saltar al contenido principal

Entrenar a un Segmenter

Esta guía le muestra cómo configurar y ajustar la función de segmentación de OV80i para detectar, medir y analizar automáticamente características o defectos específicos en sus piezas. Utilice la segmentación cuando necesite identificar formas irregulares, medir áreas o detectar patrones específicos que no puedan ser manejados por una clasificación simple.

Guía en video

¿Cuándo usar la segmentación? Defectos de superficie, derrames de líquido, formas irregulares, mediciones de áreas, detección de patrones, o cualquier característica que requiera precisión a nivel de píxel.

Antes de empezar

Requisitos

  • Sistema de cámara OV80i configurado y conectado
  • Piezas de prueba con las características que desea segmentar (p. ej., láminas con marcas de lápiz)
  • Buenas condiciones de iluminación para su aplicación específica
  • 15-20 imágenes de muestra para entrenamiento

Paso 1: Crear una receta de segmentación

1.1 Crear una Nueva Receta

  1. Navegue a la página Todas las Recetas
  2. Haga clic en + New Recipe (esquina superior derecha)

Botón Nueva Receta

  1. Ingrese el nombre de la receta: Use un nombre descriptivo como "Pencil_Mark_Detection" o "Surface_Defect_Segmentation"
  2. Seleccionar Tipo de Receta: Elija "Segmentation" del desplegable
  3. Haga clic en OK para crear

1.2 Activar Receta

  1. Encuentre su receta en la lista (aparece como "Inactive")
  2. Haga clic en Activate
  3. Haga clic en Activate and go to editor para confirmar y lanzar el editor de recetas

Botón de activar receta

Resultado: La receta ahora está "Active" con el Editor de recetas mostrado.

Paso 2: Configurar Ajustes de la Cámara

2.1 Abrir Configuración de Imagen

  1. Haga clic en Configure Imaging (lado inferior izquierdo)

Configurar Imagen

2.2 Optimizar el Enfoque para Segmentación

El enfoque es crítico para la detección de bordes precisa:

  1. Coloque su pieza de prueba en la vista de la cámara
  2. Ajuste el Enfoque hasta que los bordes estén nítidos y claros
  3. Pruebe con diferentes piezas para asegurar un enfoque consistente a lo largo de su rango
tip
  • Enfoque en la superficie donde aparecerán defectos y características
  • Asegúrese de que toda el área de interés esté en enfoque nítido
  • Un ligero sobreenfoque es mejor que un enfoque suave para la segmentación

2.3 Configurar Exposición Óptima

Una exposición adecuada garantiza una detección de características consistente:

  1. Ajuste la Exposición para una iluminación equilibrada
  2. Evite áreas sobreexpuestas (regiones de blanco puro)
  3. Asegúrese de que las características sean visibles con buen contraste

Directrices de Exposición para Segmentación:

  • Las características deben tener un contraste claro con el fondo
  • Evite sombras que podrían confundirse con defectos
  • Pruebe con varias condiciones de la pieza (limpia, sucia, gastada)

2.4 Configurar Patrón de Iluminación LED

Elija la iluminación basada en lo que está segmentando:

Tipo de CaracterísticaIluminación RecomendadaPor qué
Defectos de SuperficieCampo claroUna iluminación uniforme muestra irregularidades de la superficie
Arañazos / grietasIluminación lateralCrea sombras que destacan defectos lineales
Características elevadasCampo oscuroHace que las áreas elevadas se destaquen del fondo
Derrames de líquidoIluminación lateralMuestra diferencias de textura de la superficie

2.5 Ajustar Gamma para Mejora de Características

  1. Aumentar Gamma para mejorar el contraste entre las características y el fondo
  2. Probar diferentes valores mientras se visualizan sus características objetivo
  3. Encontrar la configuración que haga que las características sean más distinguibles

2.6 Guardar Configuración

  1. Revisar la configuración en la vista previa en vivo
  2. Haga clic en Save Imaging Settings

Guardar Configuración

Punto de control: Las características deben ser claramente visibles con un buen contraste.

Step 3: Set Up Template and Alignment

3.1 Ir a la Sección de Plantilla

Haga clic en "Imagen de Plantilla y Alineación" en el menú de migas de pan

3.2 Configurar Alineación (Opcional)

Plantilla y alineación

Para este ejemplo, omitiremos la alineación:

  1. Seleccionar Skip Aligner si las piezas están posicionadas de forma consistente
  2. Haga clic en Save

Imagen de Plantilla

Cuándo usar Aligner: Actívelo cuando las piezas lleguen en posiciones u orientaciones variables que afectarían la precisión de la segmentación.

Step 4: Definir Región de Inspección

4.1 Ir a Configuración de Inspección

Haga clic en "Inspection Setup" en el menú de migas de pan

4.2 Definir Región de Interés (ROI)

La ROI define dónde ocurrirá la segmentación:

  1. Coloque una pieza de prueba en la vista de la cámara
  2. Arrastre las esquinas de la ROI para enmarcar el área de inspección
  3. Ajuste el tamaño de la ROI adecuadamente:
    • Incluya todas las áreas donde las características podrían aparecer
    • Excluya regiones de fondo innecesarias
    • Deje un pequeño margen alrededor de las ubicaciones esperadas de las características

Configuración de ROI

4.3 Mejores Prácticas de ROI para Segmentación

HacerNo hacer
Cubra toda la superficie de inspecciónIncluya objetos de fondo irrelevantes
Deje espacio de margen alrededor de los bordesHaga que la ROI sea demasiado pequeña para la variación de características
Considere variación de posicionamiento de la piezaSuperposición con fijaciones o herramientas
Pruebe con las características más grandes esperadasIncluya áreas con marcas permanentes

4.4 Guardar Configuración de ROI

  1. Verifique que la ROI cubre todas las áreas objetivo
  2. Haga clic en Save

Step 5: Etiquetar Datos de Entrenamiento

5.1 Ir a Etiquetar y Entrenar

Haga clic en "Label And Train" en el menú de migas de pan

5.2 Configurar Clase de Inspección

  1. Haga clic en Edit bajo Tipos de Inspección
  2. Cambiar el nombre de la clase para que coincida con su característica (p. ej., "Pencil Mark", "Surface Defect", "Spill Area")
  3. Elegir el color de la clase para identificación visual
  4. Guardar cambios

5.3 Capturar y Etiquetar Imágenes de Entrenamiento

Se requieren como mínimo 10 imágenes etiquetadas, pero se recomiendan entre 15 y 20:

Proceso de Captura de Imágenes

  1. Coloque la primera pieza de prueba en el área de inspección
  2. Tome la imagen utilizando la interfaz de la cámara
  3. Utilice la herramienta Pincel para pintar sobre las características objetivo
  4. Pinte con precisión:
    • Cubra toda el área de la característica
    • Manténgase dentro de los límites de la característica
    • No pinte áreas de fondo
    • Use un enfoque de etiquetado consistente
  5. Haga clic en Save Annotations
  6. Repita con la siguiente pieza

Etiquetar y Entrenar

Buenas prácticas de etiquetado

Buen etiquetadoPobre etiquetado
Límites de características precisosPintado de bordes descuidado
Definición de características coherenteCriterios inconsistentes
Cobertura completa de característicasÁreas de características ausentes
Fondo limpio (no pintado)Pintado accidental de fondo

5.4 Variedad de Datos de Entrenamiento

Asegúrese de que su conjunto de entrenamiento incluya:

  • Diferentes tamaños de características
  • Diversas intensidades de características
  • Varias ubicaciones dentro del ROI
  • Diferentes condiciones de iluminación (si corresponde)
  • Casos límite y ejemplos limítrofes

5.5 Verificación de la Calidad de los Datos de Entrenamiento

  1. Revisar todas las imágenes etiquetadas
  2. Verificar que el etiquetado sea consistente
  3. Eliminar cualquier ejemplo etiquetado incorrectamente
  4. Agregar más ejemplos si es necesario

Paso 6: Entrenar Modelo de Segmentación

6.1 Inicio del Proceso de Entrenamiento

  1. Haga clic en Return to Live cuando el etiquetado esté completo
  2. Haga clic en Train Segmentation Model

Start Training

6.2 Configurar Parámetros de Entrenamiento

  1. Configurar el número de iteraciones:
    • Entrenamiento rápido: 50-100 iteraciones (5-10 minutos)
    • Calidad de producción: 200-500 iteraciones (15-30 minutos)
    • Alta precisión: 500+ iteraciones (30+ minutos)
  2. Haga clic en Start Training

6.3 Monitorizar Progreso del Entrenamiento

El progreso de entrenamiento muestra:

  • Número de iteración actual
  • Porcentaje de precisión de entrenamiento
  • Tiempo estimado de finalización

Training

Controles de Entrenamiento:

  • Abort Training: Detener si surgen problemas
  • Finish Training Early: Detener cuando la precisión sea suficiente

Training 2

tip
  • La precisión del 85% suele ser adecuada para producción
  • El entrenamiento se detiene automáticamente al alcanzar la precisión objetivo
  • Más datos de entrenamiento suelen ser mejores que más iteraciones

Paso 7: Evaluar Desempeño de la Segmentación

7.1 Acceder a Vista Previa en Vivo

  1. Haga clic en Live Preview después de que termine el entrenamiento
  2. Probar con varias piezas:
    • Piezas buenas conocidas (deberían mostrar sin o con segmentación mínima)
    • Piezas defectuosas conocidas (deberían resaltar defectos)
    • Casos límite y ejemplos limítrofes

Live preview

7.2 Evaluar Resultados

Verifique la calidad de la segmentación:

MétricaBuen RendimientoNecesita Mejora
ExactitudEncuentra características reales de forma consistenteOmite características obvias
PrecisiónPocos falsos positivosMuchos fondos resaltados
Calidad de bordesBordes limpios y precisosBordes ásperos o imprecisos
ConsistenciaResultados similares en pruebas repetidasResultados altamente variables

7.3 Solución de Problemas de Resultados Deficientes

ProblemaCausa probableSolución
Características ausentesDatos de entrenamiento insuficientesAgregar más ejemplos etiquetados
Falsos positivosIluminación/contraste deficientesMejorar configuraciones de imagem y iluminación
Bordes ásperosCalidad de imagen deficienteMejorar enfoque/iluminación
Resultados inconsistentesVariedad de entrenamiento insuficienteAgregar más ejemplos diversos

Step 8: Configurar la Lógica de Aprobado/Rechazo

8.1 Acceso al Bloque IO

  1. Asegúrese de que el modelo de IA muestre verde (estado entrenado)
  2. Navegue hasta el Bloque IO vía el menú de migas de pan

8.2 Eliminar Lógica Predeterminada

  1. Eliminar el nodo de Lógica del Bloque de Clasificación
  2. Prepare para construir una lógica de segmentación personalizada

8.3 Construir Flujo de Segmentación

Cree un flujo de Node-RED con estos componentes:

  1. Arrastre nodos desde el panel izquierdo:
    • nodo Function (para la lógica)
    • nodo Debug (para pruebas)
    • nodo Final Pass/Fail
  2. Conecte los nodos con cables

NodeRed

8.4 Configurar la Lógica según sus Necesidades

Opción A: Aprobado si no se detectan defectos

Caso de uso: Inspección de calidad donde cualquier característica detectada es un fallo

Código del nodo Function:

const allBlobs = msg.payload.segmentation.blobs;
const results = allBlobs.length <1; // Pass if no features found
msg.payload = results;
return msg;

Opción B: Aprobado solo si los defectos son pequeños

Caso de uso: Aceptar defectos menores por debajo del umbral de tamaño

Código del nodo Function:

const threshold = 500; // Adjust pixel count threshold
const allBlobs = msg.payload.segmentation.blobs;
const allUnderThreshold = allBlobs.every(blob => blob.pixel_count < threshold);
msg.payload = allUnderThreshold;
return msg;

Opción C: Aprobado si el área total de defectos es pequeña

Caso de uso: Aceptar piezas con área total de defectos limitada

Código del nodo Function:

const threshold = 5000; // Adjust total pixel threshold
const allBlobs = msg.payload.segmentation.blobs;
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_count, 0);
msg.payload = totalArea < threshold;
return msg;

8.5 Configurar el Nodo Function

  1. Haga doble clic en el nodo Function
  2. Copie el código apropiado de los ejemplos anteriores
  3. Pegue en la pestaña "On Message"
  4. Ajuste los valores de umbral para su aplicación
  5. Haga clic en Done

8.6 Desplegar y Probar la Lógica

  1. Haga clic en Deploy para activar la lógica
  2. Navegue a la HMI para pruebas
  3. Pruebe con piezas conocidas buenas y malas
  4. Verifique que los resultados de Aprobado/Rechazo coincidan con las expectativas

Step 9: Validación de Producción

9.1 Pruebas Exhaustivas

Pruebe el sistema de segmentación con:

Caso de PruebaResultado EsperadoAcción en Caso de Falla
Piezas limpiasAprobado (sin segmentación)Ajustar umbrales o reentrenar
Defectos menoresAprobado/Rechazo según sus criteriosAfinar los parámetros de la lógica
Defectos mayoresRechazo (segmentación clara)Verificar la precisión del modelo
Casos límiteComportamiento consistenteAgregar datos de entrenamiento

9.2 Validación de Rendimiento

Monitorear estas métricas:

  • Tiempo de procesamiento por inspección
  • Consistencia entre múltiples pruebas
  • Precisión con iluminación de producción
  • Fiabilidad durante operación prolongada

9.3 Ajustes Finales

Si el rendimiento no es satisfactorio:

  1. Agregar más datos de entrenamiento para casos límite
  2. Ajustar los valores de umbral en la lógica
  3. Mejorar las condiciones de captura de imágenes
  4. Reentrenar el modelo con iteraciones adicionales

¡Éxito! Su Sistema de Segmentación está Listo

Ahora tiene un sistema de segmentación operativo que puede:

  • Detectar automáticamente características o defectos específicos
  • Medir áreas con precisión a nivel de píxel
  • Aplicar lógica de Aprobado/Rechazo personalizada según sus requisitos
  • Integrar con sistemas de producción mediante controles I/O

Opciones Avanzadas de Configuración

Lógica de Umbral Personalizada

Para criterios de aceptación complejos, combine varias condiciones:

const smallThreshold = 200;
const largeThreshold = 1000;
const maxTotalArea = 3000;

const allBlobs = msg.payload.segmentation.blobs;
const smallBlobs = allBlobs.filter(blob => blob.pixel_count < smallThreshold);
const largeBlobs = allBlobs.filter(blob => blob.pixel_count > largeThreshold);
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_c