Entrenar un Segmentador
Esta guía muestra cómo configurar y ajustar la función de segmentación del OV80i para detectar, medir y analizar automáticamente características o defectos específicos en sus piezas. Use la segmentación cuando necesite identificar formas irregulares, medir áreas o detectar patrones específicos que no pueden ser manejados por una clasificación simple.
Cuándo usar la segmentación: Defectos de superficie, derrames de fluidos, formas irregulares, mediciones de área, 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)
- Condiciones de iluminación adecuadas 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 Receta Nueva
- Navegue a la página Todas las Recetas
- Haga clic en
+ New Recipe
(esquina superior derecha) - Ingrese Nombre de la Receta: Use un nombre descriptivo como "Pencil_Mark_Detection" o "Surface_Defect_Segmentation"
- Seleccione Tipo de Receta: Elija "Segmentation" desde el desplegable
- Haga clic en
OK
para crear
1.2 Activar Receta
- Encuentre su receta en la lista (se muestra como "Inactive")
- Haga clic en
Actions > Activate
- Haga clic en
Activate
para confirmar
✅ Resultado: La receta está activa y lista para la configuración.
Paso 2: Acceder al Editor de Recetas
- Haga clic en
Edit
junto a su receta activa - Haga clic en
Open Editor
para confirmar
Ahora verá el Editor de Recetas con opciones específicas de segmentación.
Paso 3: Configurar Configuración de la Cámara
3.1 Abrir Configuración de Imagen
- Haga clic en
Configure Imaging
(lado inferior izquierdo)
3.2 Optimizar Enfoque para Segmentación
El enfoque es crítico para una detección de bordes precisa:
- Coloque la pieza de prueba en la vista de la cámara
- Ajuste el Enfoque hasta que los bordes sean nítidos y claros
- Pruebe con diferentes piezas para garantizar un enfoque consistente a lo largo de su rango
- Centrarse en la superficie donde aparecerán los defectos/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
3.3 Configurar Exposición Óptima
Una exposición adecuada garantiza una detección de características constante:
- Ajustar la Exposición para una iluminación equilibrada
- Evitar áreas sobreexpuestas (regiones puramente blancas)
- Asegurar que las características sean visibles con buen contraste
Directrices de Exposición para Segmentación:
- Las características deben presentar un contraste claro con el fondo
- Evitar sombras que podrían confundirse con defectos
- Probar con diversas condiciones de la pieza (limpia, sucia, gastada)
3.4 Configurar Patrón de Iluminación LED
Elegir la iluminación basada en lo que está segmentando:
Tipo de Característica | Iluminación Recomendada | Por qué |
---|---|---|
Defectos de Superficie | Campo brillante | Iluminación uniforme muestra irregularidades superficiales |
Rasguños/ grietas | Iluminación lateral | Genera sombras que resaltan defectos lineales |
Características elevadas | Campo oscuro | Hace que las áreas elevadas se destaquen del fondo |
Derrames de líquido | Iluminación lateral | Muestra diferencias en la textura de la superficie |
3.5 Ajuste de Gamma para Mejora de Características
- Aumentar Gamma para realzar el contraste entre las características y el fondo
- Probar diferentes valores mientras visualiza sus características objetivo
- Encontrar la configuración que haga que las características sean más distinguibles
3.6 Guardar Configuración
- Revisar la configuración en la vista previa en vivo
- Haga clic en
Save Imaging Settings
✅ Punto de control: Las características deben ser claramente visibles con un buen contraste.
Paso 4: Configurar Plantilla y Alineación
4.1 Ir a la Sección de Plantilla
Haga clic en "Template Image and Alignment" en el menú de migas de pan
4.2 Configurar Alineación (Opcional)
Para este ejemplo, omitiremos la alineación:
- Seleccionar
Skip Aligner
si las piezas están posicionadas de forma constante - Haga clic en
Save
Cuándo usar el Alineador: Activar cuando las piezas lleguen en posiciones u orientaciones distintas que afectarían la precisión de la segmentación.
Paso 5: Definir la Región de Inspección
5.1 Ir a Configuración de Inspección
Haga clic en "Inspection Setup" en el menú de migas de pan
5.2 Configurar Región de Interés (ROI)
La ROI define dónde ocurrirá la segmentación:
- Coloque una pieza de prueba en la vista de la cámara
- Arrastre las esquinas de la ROI para enmarcar el área de inspección
- Ajuste el tamaño de la ROI adecuadamente:
- Incluya todas las áreas donde podrían aparecer las características
- Excluya regiones de fondo innecesarias
- Deje un pequeño margen alrededor de las ubicaciones esperadas de las características
5.3 Mejores Prácticas de ROI para Segmentación
Sí | No |
---|---|
Cubrir toda la superficie de inspección | Incluir objetos de fondo irrelevantes |
Dejar espacio de reserva alrededor de los bordes | Hacer que la ROI sea demasiado pequeña para la variación de características |
Considerar variaciones de posicionamiento de la pieza | Superponerse con fijaciones o herramental |
Probar con las características más grandes esperadas | Incluir áreas con marcas permanentes |
5.4 Guardar Configuración de ROI
- Verifique que la ROI cubra todas las áreas objetivo
- Haga clic en
Save
Paso 6: Etiquetar Datos de Entrenamiento
6.1 Ir a Label And Train
Haga clic en "Label And Train" en el menú de migas de pan
6.2 Configurar Clase de Inspección
- Haga clic en
Edit
bajo Inspection Types - Renombrar la clase para que coincida con su característica (p. ej., "Pencil Mark", "Surface Defect", "Spill Area")
- Elegir color de la clase para identificación visual
- Guardar cambios
6.3 Capturar y Etiquetar Imágenes de Entrenamiento
Se requieren al menos 10 imágenes etiquetadas, pero se recomiendan 15-20:
Proceso de Captura de Imágenes
- Coloque la primera pieza de prueba en el área de inspección
- Tomar la imagen usando la interfaz de la cámara
- Usar la herramienta Brush para pintar sobre las características objetivo
- Pintar 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
- Usar un enfoque de etiquetado consistente
- Haga clic en
Save Annotations
- Repetir con la siguiente pieza
Mejores Prácticas de Etiquetado
Buen Etiquetado | Mala Etiquetado |
---|---|
Límites de características precisos | Pintado de bordes descuidado |
Definición de características consistente | Criterios inconsistenteS** |
Cobertura completa de características | Cobertura de características incompleta |
Fondo limpio (sin pintar) | Pintado accidental del fondo |
6.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 de la ROI (Región de Interés)
- Diferentes condiciones de iluminación (si corresponde)
- Casos límite y ejemplos limítrofes
6.5 Verificación de la Calidad de los Datos de Entrenamiento
- Revisar todas las imágenes etiquetadas
- Verificar un enfoque de etiquetado consistente
- Eliminar cualquier ejemplo etiquetado incorrectamente
- Agregar más ejemplos si es necesario
Paso 7: Entrenar el Modelo de Segmentación
7.1 Inicio del Proceso de Entrenamiento
- Haga clic en
Return to Live
cuando haya terminado de etiquetar - Haga clic en
Train Segmentation Model
7.2 Configurar Parámetros de Entrenamiento
- 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)
- Haga clic en
Start Training
7.3 Monitoreo del Progreso del Entrenamiento
El progreso del entrenamiento muestra:
- Número de iteración actual
- Precisión de entrenamiento (%)
- Tiempo estimado de finalización
Controles de Entrenamiento:
- Detener Entrenamiento: Detenerse si surgen problemas
- Finalizar Entrenamiento Tempranamente: Detener cuando la precisión sea suficiente
- 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 8: Prueba del Rendimiento de Segmentación
8.1 Acceder a Vista previa en vivo
- Haga clic en
Live Preview
después de que finalice el entrenamiento - Pruebe con varias piezas:
- Piezas buenas conocidas (no debería mostrar segmentación o debería ser mínima)
- Piezas defectuosas conocidas (debería resaltar defectos)
- Casos límite y ejemplos limítrofes
8.2 Evaluar Resultados
Verificación de la calidad de la segmentación:
Métrica | Buen Desempeño | Necesita Mejora |
---|---|---|
Exactitud | Encuentra características reales de forma consistente | Omite características obvias |
Precisión | Pocos falsos positivos | Muchas áreas de fondo resaltadas |
Calidad de Bordes | Bordes limpios y precisos | Bordes ásperos o imprecisos |
Consistencia | Resultados similares en pruebas repetidas | Resultados altamente variables |
8.3 Solución de problemas de resultados pobres
Problema | Causa probable | Solución |
---|---|---|
Faltan características | Datos de entrenamiento insuficientes | Agregar más ejemplos etiquetados |
Falsos positivos | Iluminación/contraste deficientes | Mejorar configuraciones de imagen |
Bordes ásperos | Calidad de imagen deficiente | Mejorar enfoque/iluminación |
Resultados inconsistentes | Variedad de entrenamiento inadecuada | Agregar más ejemplos diversos |
Paso 9: Configurar la Lógica de Pass/Fail
9.1 Acceso al Bloque IO
- Asegúrese de que el modelo de IA muestre verde (estado entrenado)
- Navegue al Bloque IO mediante el menú de migas de pan
9.2 Eliminar la Lógica Predeterminada
- Eliminar el nodo Classification Block Logic
- Prepararse para construir una lógica de segmentación personalizada
9.3 Construir Flujo de Segmentación
Crear flujo Node-RED con estos componentes:
- Arrastre nodos desde el panel izquierdo:
- Function node (para la lógica)
- Debug node (para pruebas)
- Final Pass/Fail node
- Conectar los nodos con cables
9.4 Configurar la Lógica Según Sus Necesidades
Opción A: Pass 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: Pass si solo 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: Pass 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;
9.5 Configurar el Nodo Function
- Doble clic en el nodo Function
- Copie el código adecuado de los ejemplos anteriores
- Pegar en la pestaña "On Message"
- Ajustar los valores de umbral para su aplicación
- Haga clic en
Done
9.6 Desplegar y Probar la Lógica
- Haga clic en
Deploy
para activar la lógica - Navegue al HMI para pruebas
- Pruebe con piezas conocidas buenas y malas
- Verifique que los resultados de pass/fail coincidan con las expectativas
Paso 10: Validación de Producción
10.1 Pruebas Exhaustivas
Pruebe el sistema de segmentación con:
Caso de Prueba | Resultado Esperado | Acción en caso de fallo |
---|---|---|
Piezas limpias | Pass (sin segmentación) | Ajustar umbrales o volver a entrenar |
Defectos menores | Pass/Fail según sus criterios | Refinar parámetros de la lógica |
Defectos mayores | Fail (segmentación clara) | Verificar la precisión del modelo |
Casos límite | Comportamiento consistente | Agregar datos de entrenamiento |
10.2 Validación de Rendimiento
Monitoree estas métricas:
- Tiempo de procesamiento por inspección
- Consistencia entre varias pruebas
- Precisión con iluminación de producción
- Fiabilidad durante operación prolongada
10.3 Ajustes Finales
Si el rendimiento no es satisfactorio:
- Agregar más datos de entrenamiento para casos límite
- Ajustar los valores de umbral en la lógica
- Mejorar las condiciones de imagen
- 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 pass/fail 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 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