Uso de AWS Greengrass y herramientas SageMaker para detectar defectos de fabricación
Manufacturers increasingly rely on edge-based machine vision systems to identify defects before products leave the production line. By combining AWS IoT Greengrass and Amazon SageMaker, industrial ...
Los dispositivos tradicionales de IoT suelen transmitir pequeñas cargas útiles a sus respectivas puertas de enlace/estaciones base en intervalos relativamente poco frecuentes. Estos sistemas de nodos sensores dependen de su conectividad en la nube para realizar todo el procesamiento y análisis relevantes con el fin de monitorear y controlar el equipo.
Sin embargo, están surgiendo muchos casos de uso que requieren retroalimentación y comunicación casi en tiempo real. La computación en el borde elimina la latencia de extremo a extremo y las limitaciones de ancho de banda de enviar/recibir datos hacia y desde la nube, reduce los costos de transmisión y almacenamiento de datos, y puede ayudar con el cumplimiento de la gestión de datos. Ejecutar algoritmos de aprendizaje automático (ML) y modelos computacionales localmente efectivamente aporta inteligencia a estos dispositivos IoT y abre puertas para varias aplicaciones.
La detección de defectos es uno de esos casos de uso donde las capacidades inteligentes mejoran enormemente la eficiencia operativa, la productividad y el rendimiento de una instalación de fabricación. A menudo llamada visión artificial (MV), la inspección visual automatizada se basa en una mezcla de sistemas complejos que incluyen sistemas de sensores y cámaras. Puede aprovechar modelos ML entrenados para el análisis de imágenes y realizar inspecciones basadas en características para la detección y clasificación de fallas.
Este artículo analiza Amazon Web Services (AWS), Amazon SageMaker y AWS IoT Greengrass, y cómo sus capacidades en el borde pueden impactar casos de uso como la detección de defectos. Concluye con una discusión sobre cómo las características específicas de SageMaker y Greengrass pueden aprovecharse para implementar con éxito un algoritmo ML elegido para la detección de defectos.

Figura 1. Sistema de inspección visual automatizada. Imagen cortesía de Adobe Stock
El problema de la detección de defectos
La detección de defectos generalmente se realiza mediante inspección óptica donde una cámara inteligente, equipada con los sensores adecuados y un procesador embebido, detecta fallas como rayones, grietas, asperezas en la superficie y burbujas (a menudo en una inspección binaria de aprobado/reprobado). Los procesos de fabricación pueden pasar un alto volumen de productos por el campo de visión (FoV) de una cámara en el orden de milisegundos a segundos. La resolución de la cámara, el tiempo de exposición, la lente y las diversas fuentes de luz contribuyen a la calidad de los datos que se alimentan al procesador y al algoritmo ML.
Cómo los algoritmos ML satisfacen las necesidades evolutivas de la detección de defectos
Los algoritmos de aprendizaje automático han transformado radicalmente el campo de la detección de defectos; estos modelos superan a los algoritmos tradicionales de visión por computadora en precisión y tiempo de procesamiento. Los principales tipos de aplicaciones de visión basadas en ML son detección de objetos, clasificación y segmentación.
Esto puede implicar el uso de localización o segmentación semántica. En la localización, se determina la información sobre la ubicación espacial del objeto clasificado. La segmentación semántica proporciona etiquetas para cada píxel o grupo de píxeles en una imagen y se clasifica en una instancia que corresponde a un objeto o, en el caso de la detección de defectos, se identifican los píxeles o partes de la imagen que corresponden al defecto. En otras palabras, el nivel de inferencia puede ser tan grueso o detallado como requiera la aplicación.
Las redes neuronales profundas para detección han estado en desarrollo desde principios de la década de 2010 para clasificación, detección y detección en tiempo real (por ejemplo, AlexNet, SqueezeNet, DefectSegNet, RCNN, etc.). Sin embargo, modelos como estos necesitan funcionar a velocidades de inferencia en tiempo real para asegurar que la fábrica pueda monitorear y rastrear adecuadamente los productos. Además, las fábricas pueden tener un ancho de banda de red bajo y conectividad intermitente. Aquí es donde un sistema inteligente de detección de defectos basado en el borde es crítico. El enfoque híbrido de nube y borde con AWS IoT Greengrass y Amazon SageMaker aborda las necesidades de confiabilidad de la detección industrial de defectos.
Cómo Amazon SageMaker y AWS Greengrass pueden usarse en conjunto para dispositivos en el borde
¿Qué es Amazon SageMaker?
Amazon SageMaker es una plataforma para que los practicantes de ML construyan, entrenen, optimicen y desplieguen un algoritmo ML. Es una herramienta basada en la nube que reúne un amplio conjunto de capacidades diseñadas para permitir a los ingenieros construir su modelo y habilita la aceleración de hardware para optimizar el modelo y ejecutarlo en cualquier dispositivo IoT aplicable.
Un poco sobre el entrenamiento de ML
El entrenamiento es un proceso que consume mucha energía donde el algoritmo ML se alimenta con datos para generar patrones y relaciones que finalmente permiten al modelo tomar decisiones y evaluar su confianza; esto puede requerir recursos computacionales sustanciales que la infraestructura en la nube puede soportar fácilmente. La inferencia ML usa el algoritmo ML entrenado para hacer predicciones. La inferencia requiere menos potencia computacional que el entrenamiento y tiene baja latencia, dos restricciones importantes en casos de uso en el borde. Estos modelos deben optimizarse para el hardware específico del dispositivo en el borde, donde los dispositivos IoT con limitaciones de almacenamiento y energía solo podrían aprovechar bibliotecas ML específicas para maximizar la utilidad del nodo final.
¿Qué es AWS IoT Greengrass?
AWS IoT Greengrass es un entorno de ejecución de borde de código abierto y un servicio en la nube para construir, desplegar y gestionar software de dispositivos. El software de dispositivos gestionado por AWS Greengrass, como Amazon SageMaker Edge Manager, recopila los datos obtenidos durante la inferencia para enviar esta retroalimentación de manera eficiente a la nube (Figura 2). Luego, los datos pueden enviarse de vuelta a SageMaker para ser etiquetados y usados para mejorar continuamente la calidad del modelo ML.

Figura 2. Uso de AWS IoT Greengrass para inferencia en el borde. Imagen cortesía de AWS
Uso de AWS Greengrass y Amazon SageMaker para la detección de defectos
Creación de un conjunto de datos con una configuración de cámara
Los usuarios pueden preparar su conjunto de datos capturando imágenes de las partes relevantes de los productos que pasarían por la cinta transportadora con cámaras. Para que esto ocurra, las instalaciones de las cámaras deben poder capturar imágenes tanto de productos defectuosos como no defectuosos con una iluminación buena y constante. Las imágenes se anotan con herramientas de etiquetado de imágenes para incluir ambas categorías de imágenes y datos que indican la ubicación del defecto (segmentación semántica).
Uso de modelos en SageMaker
SageMaker tiene varios algoritmos integrados. En este ejemplo, se usa un algoritmo de clasificación de imágenes que aprovecha la red neuronal convolucional ResNet (CNN) que puede entrenarse usando varias imágenes e hiperparámetros, valores ajustables que se usan para controlar el proceso de aprendizaje. Para la segmentación semántica, las máscaras de detección de defectos se proporcionan en el SDK de SageMaker. Las máscaras de defectos se basan en la U-Net CNN dentro del framework TensorFlow. Las máscaras de segmentación son anotaciones basadas en objetos que etiquetan los píxeles en una imagen con una “clase” particular.
El ciclo de vida de la detección de defectos de la nube al borde
Como se muestra en la Figura 3 a continuación, se activa un flujo de trabajo automatizado de construcción de modelos que incluye una secuencia de pasos como aumento de datos, entrenamiento del modelo y posprocesamiento. Estos despliegues son todos automatizados con integración continua y entrega continua (CI/CD) para inducir el reentrenamiento del modelo en la nube así como actualizaciones por aire (OTA) al borde. De esta manera, tanto los modelos basados en la nube como las inferencias basadas en el borde se mantienen actualizados y precisos.

Figura 3. Flujo del proceso para la detección de defectos usando la plataforma AWS Cloud. Imagen cortesía de AWS
Empaquetando el modelo para tus dispositivos en el borde
Para asegurar que el dispositivo en el borde esté configurado con el algoritmo ML construido y entrenado, el modelo se compila con SageMaker Neo y luego se empaqueta con SageMaker Edge, y se crea un despliegue por aire (OTA) con Greengrass para instruir a la aplicación en el borde a descargar el paquete del modelo. Estos pasos deberán repetirse para cada nueva versión de los modelos entrenados, un proceso que puede automatizarse fácilmente.
En otras palabras, las herramientas SageMaker Neo y SageMaker Edge dentro de SageMaker pueden usarse para gestionar el ciclo de vida de los modelos para configurar el dispositivo en el borde con el algoritmo ML construido y entrenado. De esta forma, los desarrolladores pueden optimizar un modelo ML específicamente para su plataforma objetivo: por ejemplo, un MPU embebido como el procesador de aplicaciones NXP i.MX 8M Plus. Un modelo ML construido con uno de los diversos frameworks ML soportados sirve como entrada para SageMaker.
Uso de AWS Greengrass con SageMaker para mejorar continuamente la calidad del modelo ML
SageMaker también se integra con AWS IoT Greengrass para simplificar el acceso, mantenimiento y despliegue del SageMaker Edge Agent y el modelo a la flota de dispositivos en el borde. Los datos recopilados de la inferencia que se ejecuta en AWS IoT Greengrass pueden enviarse de vuelta a SageMaker para ser etiquetados y usados para mejorar continuamente la calidad de los modelos de aprendizaje automático.
Observando el hardware óptimo para tu aplicación
La inferencia puede realizarse en una variedad de arquitecturas de hardware/chips para probar diferentes grados de latencia. De esta manera, las empresas pueden realizar un análisis costo-beneficio más informado para emplear varios CPUs y GPUs en su flota con modelos y arquitecturas de modelos construidos a través de SageMaker. El i.MX 8M Plus ofrece capacidades adicionales ya que el núcleo NPU dedicado a la aceleración ML también es compatible para desplegar modelos ML vía Amazon SageMaker.
Herramientas basadas en la nube para ML en el borde a escala
Entregar un ML eficiente en energía en el borde es un gran desafío incluso con el ecosistema de hardware en desarrollo alrededor de procesadores de aplicaciones como la familia NXP i.MX 8M e i.MX 9 que integran unidades de procesamiento neuronal neuronales con motores dedicados de procesamiento multisensorial (gráficos, imagen, pantalla, audio y voz) para ejecutar algoritmos ML en el borde de bajo costo y eficiencia energética. Los modelos deben optimizarse para el hardware específico del dispositivo en el borde. Herramientas como AWS IoT Greengrass y SageMaker permiten a los ingenieros de datos construir, entrenar, optimizar, desplegar y monitorear de cerca modelos ML en grandes cantidades de dispositivos con una infraestructura totalmente gestionada de herramientas y flujos de trabajo para construir un algoritmo ML.