Saltar al contenido principal

Entrenar un Segmenter

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

nota

OV10i no tiene capacidades de segmentación.

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

Lo que necesitará

  • Sistema de cámara OV20i configurado y conectado
  • Piezas de prueba con características que desee 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 el entrenamiento

Paso 1: Crear una Receta de Segmentación

1.1 Iniciar Nueva Receta

  1. Navegue a la página All Recipes
  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 "Segmentación" del menú desplegable
  3. Haga clic en OK para crear

1.2 Activar Receta

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

Botón activar receta

Resultado: La Receta pasa a estar "Activa" y se muestra el Editor de Recetas.

Paso 2: Configurar la Cámara

2.1 Abrir Configuración de Imagen

  1. Haga clic en Configure Imaging (en la esquina inferior izquierda)

Configurar Imagen

2.2 Optimizar el Enfoque para Segmentación

El enfoque es crítico para una 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 sean 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 o 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 la Exposición Óptima

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

  1. Ajuste la Exposición para una iluminación balanceada
  2. Evite áreas sobreexpuestas (regiones completamente blancas)
  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 diversas condiciones de pieza (limpia, sucia, desgastada)

2.4 Configurar el Patrón de Iluminación LED

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

Tipo de característicaIluminación recomendadaPor qué
Defectos de superficieCampo claroUna iluminación uniforme revela irregularidades de la superficie
Rasguños/FisurasIluminación lateralCrea sombras que destacan defectos lineales
Elementos en relieveCampo oscuroHace que los elementos en relieve se destaquen del fondo
Derrames de líquidoIluminación lateralMuestra diferencias de textura de la superficie

2.5 Ajustar Gamma para la Mejora de Características

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

2.6 Save Configuration

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

Save Settings

Punto de verificación: Las características deberían ser claramente visibles con buen contraste.

Step 3: Set Up Template and Alignment

3.1 Navegar a la Sección de Plantilla

Haga clic en "Template Image and Alignment" en el menú de migas de pan

3.2 Configurar Alineación (Opcional)

Template and alignment

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

Template image

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

Step 4: Define Inspection Region

4.1 Navegar a Configuración de Inspección

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

4.2 Configurar la Región de Interés (ROI)

La ROI define dónde se realizará 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:
    • Incluir todas las áreas donde podrían aparecer las características
    • Excluir áreas de fondo innecesarias
    • Deje un pequeño margen alrededor de las ubicaciones esperadas de las características

ROI Setup

4.3 Mejores Prácticas de ROI para Segmentación

HacerNo hacer
Cubrir toda la superficie de inspecciónIncluir objetos de fondo irrelevantes
Dejar espacio de margen alrededor de los bordesHacer que la ROI sea demasiado pequeña para la variación de características
Considerar la variación de posicionamiento de la piezaSolapamiento con fijaciones o herramientas
Probar con las características esperadas más grandesIncluir áreas con marcas permanentes

4.4 Guardar Configuración de ROI

  1. Verificar que la ROI cubra todas las áreas objetivo
  2. Haga clic en Save

Step 5: Label Training Data

5.1 Navegar 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. Renombrar la clase para que coincida con su característica (p. ej., "Pencil Mark", "Surface Defect", "Spill Area")
  3. Elegir color de clase para identificación visual
  4. Guardar cambios

5.3 Capturar y Etiquetar Imágenes de Entrenamiento

Se requieren al menos 10 imágenes etiquetadas, pero se recomiendan de 15 a 20:

Proceso de Captura de Imagen

Label and Train

  1. Coloque la primera pieza de prueba en el área de inspección
  2. Tomar una imagen usando la interfaz de la cámara
  3. Utilice la herramienta Brush para pintar sobre las características objetivo
  4. Pinte con precisión:
    • Cubrir toda el área de la característica
    • Mantenerse dentro de los límites de la característica
    • No pintar áreas de fondo
    • Utilizar un enfoque de etiquetado consistente
  5. Haga clic en Save Annotations
  6. Repetir con la siguiente pieza

Buenas Prácticas de Etiquetado

Etiquetado correctoEtiquetado incorrecto
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 faltantes
Fondo limpio (no pintado)Pintado accidental del 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
  • Múltiples ubicaciones dentro de la ROI
  • Diferentes condiciones de iluminación (si aplica)
  • Casos límite y ejemplos fronterizos

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

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

Paso 6: Entrenar el Modelo de Segmentación

6.1 Iniciar el Proceso de Entrenamiento

  1. Haga clic en Volver a En vivo cuando el etiquetado haya terminado
  2. Haga clic en Entrenar Modelo de Segmentación

Iniciar Entrenamiento

6.2 Configurar Parámetros de Entrenamiento

  1. Establecer 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 Iniciar Entrenamiento

6.3 Monitorear el Progreso del Entrenamiento

El progreso del entrenamiento muestra:

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

Entrenamiento

Controles de Entrenamiento:

  • Cancelar Entrenamiento: Detener si surgen problemas
  • Finalizar Entrenamiento Temprano: Detener cuando la precisión sea suficiente

Entrenamiento 2

tip
  • Una precisión del 85% suele ser buena para producción
  • El entrenamiento se detiene automáticamente cuando se alcanza la precisión objetivo
  • Más datos de entrenamiento suelen ser mejores que más iteraciones

Paso 7: Prueba del Rendimiento de Segmentación

7.1 Acceder a la Vista previa en vivo

  1. Haga clic en Vista previa en vivo después de completar el entrenamiento
  2. Pruebe con varias piezas:
    • Piezas buenas conocidas (deberían mostrar segmentación nula o mínima)
    • Piezas defectuosas conocidas (deberían resaltar defectos)
    • Casos límite y ejemplos fronterizos

Vista previa en vivo

7.2 Evaluar Resultados

Verificar la calidad de la segmentación:

MétricaRendimiento BuenoNecesita Mejora
PrecisiónEncuentra características reales de forma consistenteNo detecta características obvias
PrecisiónPocos falsos positivosMuchas áreas de fondo resaltadas
Calidad de BordeBordes limpios y precisosBordes ásperos o inexactos
ConsistenciaResultados similares en pruebas repetidasResultados altamente variables

7.3 Solución de Problemas de Resultados Deficientes

ProblemaCausa probableSolución
Faltan característicasDatos de entrenamiento insuficientesAgregar más ejemplos etiquetados
Falsos positivosIluminación/contraste deficienteMejorar la configuración de imagen
Bordes ásperosCalidad de imagen deficienteMejorar enfoque/iluminación
Resultados inconsistentesVariedad de entrenamiento inapropiadaAgregar más ejemplos diversos

Paso 8: Configurar la Lógica de Aprobación/Rechazo

8.1 Acceder al Bloque IO

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

8.2 Eliminar la Lógica Predeterminada

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

8.3 Construir el Flujo de Segmentación

Crear flujo 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. Conectar 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 se considera un defecto

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 si solo hay defectos 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 un á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. Pega en la pestaña On Message
  4. Ajuste los valores umbral para su aplicación
  5. Haga clic en Listo

8.6 Desplegar y Probar la Lógica

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

Paso 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 volver a entrenar
Defectos menoresAprobado/Rechazo según sus criteriosRefinar parámetros de la lógica
Defectos mayoresRechazado (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
  • Confiabilidad 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 umbral en la lógica
  3. Mejorar las condiciones de imagen
  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 aprobación/rechazo personalizada basada en sus requisitos
  • Integrar con sistemas de producción mediante controles de I/O

Opciones Avanzadas de Configuración

Lógica de Umbrales Personalizados

Para criterios de aceptación complejos, combine múltiples 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