Las imágenes de alta resolución son muy frecuentes en el mundo actual, desde imágenes satelitales hasta drones y cámaras DLSR. A partir de estas imágenes, podemos capturar daños debidos a desastres naturales, anomalías en los equipos de fabricación o defectos muy pequeños, como defectos en placas de circuito impreso (PCB) o semiconductores. Crear modelos de detección de anomalías utilizando imágenes de alta resolución puede ser un desafío porque los modelos modernos de visión por computadora generalmente cambian el tamaño de las imágenes a una resolución más baja para que quepan en la memoria para entrenar y ejecutar inferencias. Reducir significativamente la resolución de la imagen significa que la información visual relacionada con el defecto se degrada o se pierde por completo.
Un enfoque para superar estos desafíos es construir modelos de dos etapas. Los modelos de la etapa 1 detectan una región de interés y los modelos de la etapa 2 detectan defectos en la región de interés recortada, manteniendo así una resolución suficiente para detección pequeñas.
En esta publicación, repasamos cómo construir un sistema eficaz de detección de defectos en dos etapas utilizando Etiquetas personalizadas de reconocimiento de Amazon y comparar los resultados para este caso de uso específico con modelos de una etapa. Tenga en cuenta que varios modelos de una etapa son efectivos incluso con resoluciones de imagen más bajas o redimensionadas, y otros pueden acomodar imágenes grandes en lotes más pequeños.
Descripción general de la solución
Para nuestro caso de uso, utilizamos un conjunto de datos de imágenes de PCB con pasadores de orificios faltantes generados sintéticamente, como se muestra en el siguiente ejemplo.
Utilizamos este conjunto de datos para demostrar que un enfoque de una etapa que utiliza la detección de objetos da como resultado un rendimiento de detección deficiente para los defectos de los pasadores faltantes. Se prefiere un modelo de dos pasos, en el que utilizamos etiquetas personalizadas de Rekognition primero para la detección de objetos con el fin de identificar los pines y luego un modelo de segunda etapa para clasificar las imágenes recortadas de los pines en pines a los que les faltan agujeros o pines normales.
El proceso de capacitación para un modelo de etiquetas personalizadas de Rekognition consta de varios pasos, como se ilustra en el siguiente diagrama.
Primero, usamos Servicio de almacenamiento simple de Amazon (Amazon S3) para almacenar los datos de la imagen. Los datos se ingieren en Amazona Sabio Cuadernos Jupyter, donde normalmente un científico de datos inspeccionará las imágenes y las procesará previamente, eliminando cualquier imagen que sea de mala calidad, como imágenes borrosas o condiciones de iluminación deficientes, y cambiará el tamaño o recortará las imágenes. Luego, los datos se dividen en conjuntos de entrenamiento y prueba, y Verdad fundamental de Amazon SageMaker Los trabajos de etiquetado se ejecutan para etiquetar los conjuntos de imágenes y generar un archivo de manifiesto de prueba y tren. Rekognition Custom Labels utiliza los archivos de manifiesto para la capacitación.
Enfoque de modelo de una etapa
El primer enfoque que adoptamos para identificar los orificios faltantes en la PCB es etiquetar los orificios que faltan y entrenar un modelo de detección de objetos para identificar los orificios que faltan. La siguiente es una imagen de ejemplo del conjunto de datos.
Entrenamos un modelo con un conjunto de datos con 95 imágenes utilizadas como entrenamiento y 20 imágenes utilizadas para prueba. La siguiente tabla resume nuestros resultados.
| Resultados de evaluación | |||||
| Puntuación F1 | Precisión promedio | Recordatorio general | |||
| 0.468 | 0.750 | 0.340 | |||
| Tiempo de entrenamiento | Conjunto de datos de entrenamiento | Conjunto de datos de prueba | |||
| Formado en 1.791 horas | 1 etiqueta, 95 imágenes | 1 etiqueta, 20 imágenes | |||
| Rendimiento por etiqueta | |||||
| Nombre de etiqueta | Puntuación F1 | Imágenes de prueba | Precisión | Recordar | Umbral asumido |
missing_hole |
0.468 | 20 | 0.750 | 0.340 | 0.053 |
El modelo resultante tiene alta precisión pero baja recuperación, lo que significa que cuando localizamos una región para un orificio faltante, generalmente acertamos, pero nos faltan muchos orificios faltantes que están presentes en la PCB. Para construir un sistema eficaz de detección de defectos, necesitamos mejorar la recuperación. El bajo rendimiento de este modelo puede deberse a que los defectos son pequeños en esta imagen de alta resolución de la PCB, por lo que el modelo no tiene referencia de un pin en buen estado.
A continuación, exploramos dividir la imagen en cuatro o seis cultivos según el tamaño de la PCB y etiquetar los agujeros sanos y faltantes. El siguiente es un ejemplo de la imagen recortada resultante.
Entrenamos un modelo con 524 imágenes utilizadas como entrenamiento y 106 imágenes utilizadas para pruebas. Mantenemos los mismos PCB utilizados en el entrenamiento y las pruebas que el modelo de placa completa. Los resultados para pines sanos recortados versus agujeros faltantes se muestran en la siguiente tabla.
| Resultados de evaluación | |||||
| Puntuación F1 | Precisión promedio | Recordatorio general | |||
| 0.967 | 0.989 | 0,945 | |||
| Tiempo de entrenamiento | Conjunto de datos de entrenamiento | Conjunto de datos de prueba | |||
| Entrenado en 2.118 horas | 2 etiquetas, 524 imágenes | 2 etiquetas, 106 imágenes | |||
| Rendimiento por etiqueta | |||||
| Nombre de etiqueta | Puntuación F1 | Imágenes de prueba | Precisión | Recordar | Umbral asumido |
missing_hole |
0,949 | 42 | 0.980 | 0.920 | 0.536 |
pin |
0.984 | 106 | 0,998 | 0.970 | 0,696 |
Tanto la precisión como la recuperación han mejorado significativamente. Fue útil entrenar el modelo con imágenes recortadas ampliadas y una referencia al modelo para pines saludables. Sin embargo, la recuperación sigue siendo del 92 %, lo que significa que todavía pasaríamos por alto el 8 % de los agujeros faltantes y dejaríamos que los defectos pasaran desapercibidos.
A continuación, exploramos un enfoque de modelo de dos etapas en el que podemos mejorar aún más el rendimiento del modelo.
Enfoque de modelo de dos etapas
Para el modelo de dos etapas, entrenamos dos modelos: uno para detectar pines y otro para detectar si el pin falta o no en imágenes recortadas ampliadas del pin. La siguiente es una imagen del conjunto de datos de detección de pines.
Los datos son similares a nuestro experimento anterior, en el que recortamos la PCB en cuatro o seis imágenes recortadas. Esta vez, etiquetamos todos los pines y no hacemos ninguna distinción si al pin le falta un agujero o no. Entrenamos este modelo con 522 imágenes y lo probamos con 108 imágenes, manteniendo la misma división tren/prueba que en experimentos anteriores. Los resultados se muestran en la siguiente tabla.
| Resultados de evaluación | |||||
| Puntuación F1 | Precisión promedio | Recordatorio general | |||
| 1.000 | 0,999 | 1.000 | |||
| Tiempo de entrenamiento | Conjunto de datos de entrenamiento | Conjunto de datos de prueba | |||
| Formado en 1.581 horas | 1 etiqueta, 522 imágenes | 1 etiqueta, 108 imágenes | |||
| Rendimiento por etiqueta | |||||
| Nombre de etiqueta | Puntuación F1 | Imágenes de prueba | Precisión | Recordar | Umbral asumido |
pin |
1.000 | 108 | 0,999 | 1.000 | 0,617 |
El modelo detecta perfectamente los pines en este conjunto de datos sintéticos.
A continuación, construimos el modelo para distinguir los agujeros faltantes. Usamos imágenes recortadas de los agujeros para entrenar la segunda etapa del modelo, como se muestra en los siguientes ejemplos. Este modelo está separado de los modelos anteriores porque es un modelo de clasificación y se centrará en la tarea específica de determinar si al pasador le falta un orificio.
Entrenamos este modelo de segunda etapa en 16,624 imágenes y probamos en 3266, manteniendo las mismas divisiones de entrenamiento/prueba que en los experimentos anteriores. La siguiente tabla resume nuestros resultados.
| Resultados de evaluación | |||||
| Puntuación F1 | Precisión promedio | Recordatorio general | |||
| 1.000 | 1.000 | 1.000 | |||
| Tiempo de entrenamiento | Conjunto de datos de entrenamiento | Conjunto de datos de prueba | |||
| Formado en 6.660 horas | 2 etiquetas, 16.624 imágenes | 2 etiquetas, 3266 imágenes | |||
| Rendimiento por etiqueta | |||||
| Nombre de etiqueta | Puntuación F1 | Imágenes de prueba | Precisión | Recordar | Umbral asumido |
anomaly |
1.000 | 88 | 1.000 | 1.000 | 0.960 |
normal |
1.000 | 3.178 | 1.000 | 1.000 | 0.996 |
Nuevamente, recibimos precisión y recuperación perfectas en este conjunto de datos sintéticos. Combinando el modelo de detección de pasadores anterior con este modelo de clasificación de orificios faltantes de segunda etapa, podemos construir un modelo que supera a cualquier modelo de una sola etapa.
La siguiente tabla resume los experimentos que realizamos.
| Experimento | Tipo | Descripción | Puntuación F1 | Precisión | Recordar |
| 1 | Modelo de una etapa | Modelo de detección de objetos para detectar agujeros faltantes en imágenes completas | 0.468 | 0,75 | 0,34 |
| 2 | Modelo de una etapa | Modelo de detección de objetos para detectar pines sanos y agujeros faltantes en imágenes recortadas | 0.967 | 0.989 | 0,945 |
| 3 | Modelo de dos etapas | Etapa 1: Detección de objetos en todos los pines | 1.000 | 0,999 | 1.000 |
| Etapa 2: Clasificación de imágenes de alfileres sanos o agujeros faltantes | 1.000 | 1.000 | 1.000 | ||
| Promedio de extremo a extremo | 1.000 | 0.9995 | 1.000 |
Tubería de inferencia
Puede utilizar la siguiente arquitectura para implementar los modelos de una y dos etapas que describimos en esta publicación. Están involucrados los siguientes componentes principales:
Para modelos de una etapa, puede enviar una imagen de entrada al punto final de API Gateway, seguida de Lambda para cualquier preprocesamiento básico de imágenes, y enrutarla al punto final del modelo entrenado de Rekognition Custom Labels. En nuestros experimentos, exploramos modelos de una etapa que pueden detectar solo agujeros faltantes, agujeros faltantes y pasadores sanos.
Para modelos de dos etapas, puede enviar de manera similar una imagen al punto final de API Gateway, seguida de Lambda. Lambda actúa como un orquestador que primero llama al modelo de detección de objetos (entrenado con etiquetas personalizadas de Rekognition), que genera la región de interés. Luego, la imagen original se recorta en la función Lambda y se envía a otro modelo de clasificación de etiquetas personalizadas de Rekognition para detectar defectos en cada imagen recortada.
Conclusión
En esta publicación, entrenamos modelos de una y dos etapas para detectar orificios faltantes en PCB utilizando etiquetas personalizadas de Rekognition. Informamos resultados para varios modelos; En nuestro caso, los modelos de dos etapas superaron a otras variantes. Alentamos a los clientes con imágenes de alta resolución de otros dominios a probar el rendimiento del modelo con modelos de una y dos etapas. Además, considere las siguientes formas de ampliar la solución:
- Recortes de ventanas deslizantes para sus conjuntos de datos reales
- Reutilizar sus modelos de detección de objetos en el mismo proceso
- Flujos de trabajo de preetiquetado mediante predicciones de cuadros delimitadores
Sobre los autores
Andreas Karagounis es gerente de ciencia de datos en Accenture. Tiene una maestría en Ciencias de la Computación de la Universidad de Brown. Tiene experiencia en visión por computadora y trabaja con clientes para resolver sus desafíos comerciales utilizando ciencia de datos y aprendizaje automático.
Yogesh Chaturvedi es arquitecto principal de soluciones en AWS con especialización en visión por computadora. Trabaja con los clientes para abordar sus desafíos comerciales utilizando tecnologías en la nube. Fuera del trabajo, le gusta hacer senderismo, viajar y ver deportes.
Shreyas Subramanian es un científico de datos principal y ayuda a los clientes mediante el uso del aprendizaje automático para resolver sus desafíos comerciales mediante la plataforma AWS. Shreyas tiene experiencia en optimización a gran escala y aprendizaje automático, y en el uso de aprendizaje automático y aprendizaje por refuerzo para acelerar tareas de optimización.
Selimcán “Can” Sakar es un desarrollador de nube y arquitecto de soluciones en AWS Accenture Business Group con un enfoque en tecnologías emergentes como GenAI, ML y blockchain. Cuando no está viendo converger a las modelos, se le puede ver andando en bicicleta o tocando el clarinete.