image augmentImages

Robustez del Proceso de Aumento Frente a Datos de Imagen Corruptos

Scénario de test & Cas d'usage

Contexto empresarial

En una línea de producción, un sistema de visión artificial captura imágenes de piezas para control de calidad. Ocasionalmente, se generan archivos de imagen corruptos o vacíos. El proceso de aumento de imágenes, utilizado para entrenar el modelo de detección de defectos, debe ser robusto y no fallar si encuentra datos de mala calidad. Debe procesar las imágenes válidas e ignorar las inválidas.
Sobre el conjunto : image

Procesamiento, manipulación y análisis de imágenes.

Descubrir todas las acciones de image
Preparación de datos

Creación de una tabla con referencias a tres imágenes: una válida, una con una ruta incorrecta (inexistente) y una que simula un formato no soportado o corrupto.

¡Copiado!
1DATA mycas.control_calidad;
2 LENGTH pieza_id $15 image_path $200 STATUS $20;
3 INPUT pieza_id $ image_path $;
4 DATALINES;
5 PIEZA_OK_001 /path/to/valid_part.jpg
6 PIEZA_BAD_002 /path/to/non_existent_part.jpg
7 PIEZA_CORRUPT_003 /path/to/corrupted_part.jpg
8 ;
9RUN;
10 
11PROC CAS;
12 image.loadImages /
13 path='control_calidad'
14 casOut={name='cas_calidad', caslib='mycas', replace=true}
15 TABLE={name='control_calidad', caslib='mycas'}
16 copyVars={'pieza_id'};
17RUN;

Étapes de réalisation

1
Ejecutar la acción 'augmentImages' sobre la tabla que contiene imágenes válidas e inválidas. Se utiliza 'useWholeImage' para aplicar una mutación a la imagen completa, simulando un cambio de iluminación.
¡Copiado!
1PROC CAS;
2 image.augmentImages /
3 TABLE={name='cas_calidad', caslib='mycas'}
4 augmentations={{
5 useWholeImage=true,
6 mutations={{darken=0.7}}
7 }}
8 casOut={name='calidad_aumentada', caslib='mycas', replace=true}
9 copyVars={'pieza_id'}
10 image='_image_';
11RUN;
2
Verificar que la acción no ha fallado y que solo ha procesado la imagen válida.
¡Copiado!
1PROC CAS;
2 SIMPLE.numRows /
3 TABLE={name='calidad_aumentada', caslib='mycas'};
4 fetch /
5 TABLE={name='calidad_aumentada', caslib='mycas'};
6RUN;

Resultado esperado


La acción 'image.augmentImages' debe completarse sin errores fatales, aunque puede emitir advertencias (warnings) en el log de SAS sobre las imágenes que no se pudieron procesar. La tabla de salida 'calidad_aumentada' debe contener exactamente una fila, correspondiente a la imagen 'PIEZA_OK_001'. Las filas correspondientes a 'PIEZA_BAD_002' y 'PIEZA_CORRUPT_003' no deben existir en la tabla de salida, demostrando que la acción ha gestionado correctamente los errores de entrada.