Detección de defectos con Lookout for Vision
  • 31 Oct 2023
  • 7 Minutos para leer
  • Colaboradores

Detección de defectos con Lookout for Vision


Resumen del artículo

Detección de defectos con Lookout for Vision

Implemente una inspección visual automática de defectos con Tulip Vision y AWS Lookout for Vision

La inspección visual es un aspecto clave para mantener la calidad de la producción, pero es difícil de implementar sin dejar de ser lean, ya que los costes de los recursos humanos dedicados a la inspección son elevados. La inspección visual manual también es una operación de alto rendimiento; es muy repetitiva y puede suponer un reto visual.

La inspección visual automática con cámaras y el aprendizaje automático cambian por completo la situación. Los algoritmos de inspección visual basados en el aprendizaje automático han avanzado hasta el punto de superar el rendimiento humano, tanto en tiempo como en precisión.

Con Tulip puedes implementar la inspección visual automática conectando las salidas de tus cámaras Vision a un servicio en la nube de detección de anomalías visuales de primera clase. Lookout for Vision de Amazon es uno de estos servicios, que ofrece un potente algoritmo en un simple punto final REST API que se puede integrar fácilmente en Tulip.

En este artículo te mostramos cómo configurar las cosas rápidamente en AWS con Cloud Formation, así como dentro de Tulip con una aplicación de biblioteca pre-empaquetada. Vea el siguiente video para un tutorial en vivo sobre este proceso.

Requisitos previos

Antes de comenzar este proceso, por favor asegúrate de que tienes los siguientes recursos disponibles:

  • Una cámara USB conectada a un PC Tulip Player (ver la guía de recomendaciones de hardware Tulip Vision
  • Una configuración de cámara de Tulip Vision para la cámara conectada, y un flujo de vídeo de trabajo verificado (ver la guía de introducción a la visión)
  • Datos recopilados con anotación normal-anomalía en una tabla Tulip (consulte la aplicación de recopilación de datos)
  • Cuenta de AWS con un usuario autorizado para crear recursos como Lookout for Vision y API Gateway (consulta la guía de inicio de Amazon)

:::(Info) (NOTA) Actualmente, Lookout for Vision sólo está disponible en determinadas regiones de AWS. :::

Configuración de Lookout for Vision en la consola de AWS

Para ayudar a configurar la infraestructura de nube requerida en la consola de AWS, proporcionamos una Plantilla de Formación de Nube(descargar). La CFT es un breve script que aprovisiona todo lo necesario en la nube de AWS para entrenar y ejecutar modelos de detección de Lookout for Vision (LfV) con Tulip. Creará un proyecto LfV, algunas funciones AWS Lambda para activar el modelo LfV y una API Gateway de AWS para comunicarse con las funciones. Tulip llamará a los endpoints de AWS API Gateway y así ejecutará comandos al modelo LfV desde dentro de Tulip Apps - donde se realiza la inspección visual.

  1. Descarga el CFT.
  2. Ve a Cloud Formation en la consola de AWS.

  1. Crear una pila y cargar el archivo CFT.

  1. Ejecuta el script de creación de pila de CloudFormation.

  1. Anote las salidas.

  1. Anota el valor apiGatewayInvokeURL, ya que lo utilizaremos de nuevo en breve para configurar nuestras funciones de conector.

Anota también la Clave API de la pestaña Recursos. Tendrás que hacer clic en ella y encontrar el valor.

Ahora que AWS fue aprovisionado por Cloud Formation, podemos seguir adelante y entrenar un modelo de aprendizaje automático visual con Lookout for Vision. Para ello debemos tener un conjunto de datos de imágenes anotadas. Aunque podrías crear el conjunto de datos manualmente, ofrecemos una forma sencilla de recopilar datos con Tulip mediante nuestra aplicación de recopilación de datos [enlace]. Los datos se almacenan en una tabla Tulip y se pueden exportar fácilmente desde ella. Supondremos que se ha recopilado un conjunto de datos en Tulip para los siguientes pasos.

  1. Exportar el conjunto de datos desde Tulip Table.

  1. Subir el conjunto de datos al bucked S3 creado por Lookout for Vision.

  1. Cree un conjunto de datos en Lookout for Vision y seleccione el bucket S3 como fuente.

Asegúrese de seleccionar Adjuntar etiquetas automáticamente:

Ahora que un conjunto de datos está listo en Lookout for Vision - podemos entrenar un modelo. El proceso dura aproximadamente 45 minutos, y es un proceso sencillo en la consola de AWS.

  1. Haz clic en Entrenar modelo.

  1. Comprueba el estado del entrenamiento.

  1. Revisa los resultados del entrenamiento.

Una vez que el modelo ha terminado el entrenamiento, no hay nada más que tengamos que hacer en el lado de AWS. Todas las conexiones se han hecho para nosotros por la formación en la nube, y estamos claros para conectar Tulip a Lookout for Vision.

Configuración de Tulip para llamar a los modelos de Lookout for Vision

Tulip es muy capaz de integrarse a servicios externos a través de APIs, por lo que es fácil integrarlo con AWS Lookout for Vision. Usaremos el REST API endpoint de la última sección para controlar el modelo LfV a través de Tulip Connector Functions. Sin embargo, en lugar de crear las funciones desde cero las estamos proporcionando pre-construidas en nuestra Library App "Defect Detection with Lookout for Vision". Esto le ahorrará mucho tiempo, y asegurarse de que los conectores se construyen correctamente. En primer lugar, sin embargo, tendremos que rellenar la función de conector con los datos correctos de su cuenta específica de AWS.

  1. Encuentra las funciones del conector en Tulip.

  1. Para el conector establece la URL correcta del punto final de AWS, que has copiado anteriormente de Cloud Formation:

  1. Para cada función establece la API KEY de AWS.

Asegúrate de hacer esto para las 4 funciones.

Uso de Lookout for Vision en Tulip Apps

En la app de Detección de Defectos proporcionada por la librería hemos configurado un proceso muy rudimentario para ejecutar la inspección visual. Puedes modificar la aplicación o copiar partes de ella a otras aplicaciones para satisfacer tus necesidades. Para utilizar la aplicación, tendrás que hacer algunas pequeñas modificaciones para trabajar con tu configuración específica de Tulip Vision. Tendrás que apuntar el disparador de captura a la configuración de tu cámara Vision, así como el widget de vista previa de la cámara para obtener información visual.

  1. Configurar el widget de cámara de Tulip App con la configuración de cámara correcta.

  1. Configure el disparador "Detectar anomalías" con la configuración de cámara correcta.

Ahora todo está listo para ejecutar su modelo en Tulip. Antes de que el modelo esté disponible para la inferencia (evaluación de una imagen) necesita ser "Alojado", lo que significa que ocupará algún recurso de computación en la nube, como una máquina virtual en la nube, para servir el modelo a su aplicación. Para ello hemos creado un botón en la Tulip App proporcionada.

:::(Info) (NOTA) Una vez que el modelo está "alojado" está consumiendo recursos que tienen un coste asociado a ellos. Recuerde apagar sus modelos cuando no estén en uso, o se arriesga a gastar dinero sin retorno. Los precios de AWS LfV se pueden ver aquí. Ten en cuenta que AWS también ofrece una capa gratuita para LfV. Tulip no es responsable de los recursos alojados de forma privada en AWS, pero usted es bienvenido a ponerse en contacto con nosotros con preguntas. :::

Siga adelante y ejecute la aplicación de detección de defectos en el PC reproductor con la cámara de inspección conectada. Los siguientes pasos se realizan en la aplicación en ejecución:

  1. Encendido del modelo ("Hosting").

:::(Info) (NOTA) Una vez que inicie el modelo comenzará a incurrir en gastos. Recuerde apagarlo. :::

  1. Compruebe el estado del modelo alojado.

Busque el estado "HOSTED". Mientras el estado no sea "HOSTED" el modelo no aceptará consultas.

  1. Ejecute una solicitud de inferencia en el modelo.

El modelo debería ahora hacer predicciones sobre si el objeto es un defecto o una pieza normal. Hemos añadido botones para dar información sobre la precisión de la detección en caso de que el modelo haga una predicción errónea. Estos botones añadirán más datos a la tabla Tulip y a su conjunto de datos. Reentrene periódicamente el modelo proporcionándole más imágenes de muestra, para aumentar la robustez de su modelo.

Conclusión

Hemos visto un proceso fácil de seguir para empezar con el aprendizaje automático basado en la inspección visual automática en Tulip. Este proceso puede ahorrarte recursos manuales para la inspección visual realizada por una persona. La aplicación de este proceso también le da inherentemente un conjunto de datos visuales de todos los defectos que surgen en su producto, que puede utilizar de otra manera que la inspección.

Puede aplicar e implementar fácilmente el aprendizaje automático con Tulip utilizando sus funciones de conectividad. Opte por utilizar otros servicios de ML en la nube de forma muy similar.

Más información


¿Te ha sido útil este artículo?