Automatice la formación y el despliegue de Amazon Lookout for Vision para la detección de anomalías - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Automatice la formación y el despliegue de Amazon Lookout for Vision para la detección de anomalías

Creado por Michael Wallner (AWS), Gabriel Rodríguez García (AWS), Kangkang Wang (AWS), Shukhrat Khodjaev (AWS), Sanjay Ashok (AWS), Yassine Zaafouri (AWS) y Gabriel Zylka (AWS)

automated-silicon-wafer-anomalydetection-using-amazon-lookoutRepositorio de código: - -for-vision

Entorno: producción

Tecnologías: aprendizaje automático e inteligencia artificial; CloudNative DevOps

Servicios de AWS: AWS CloudFormation; AWS CodeBuild; AWS CodeCommit; AWS Lambda CodePipeline; Amazon Lookout for Vision

Resumen

Este patrón le ayuda a automatizar la formación y el despliegue de los modelos de aprendizaje automático de Amazon Lookout for Vision para la inspección visual. Si bien este patrón se concentra en la detección de anomalías en las obleas de silicio, puede adaptar la solución para utilizarla en una amplia gama de productos e industrias.

En 2020, la capacidad anual de uno de los mayores fabricantes de semiconductores del mundo superó los 12 millones de obleas equivalentes a 12 pulgadas. Para garantizar la calidad y la fiabilidad de estas obleas, la inspección visual es un paso esencial en el proceso de producción. Los métodos tradicionales de inspección visual, como el muestreo manual o el uso de herramientas anticuadas y antiguas que se basan en medidas estadísticas, pueden llevar mucho tiempo y ser ineficientes. Dada la magnitud de este proceso y su importancia para la industria de los semiconductores en general, existe una gran oportunidad de optimizar y automatizar la inspección visual mediante el uso de tecnologías avanzadas de inteligencia artificial (IA).

Lookout for Vision ayuda a agilizar el proceso de inspección de imágenes y objetos, reduciendo la necesidad de realizar inspecciones manuales costosas e inconsistentes. Esta solución mejora el control de calidad, facilita una evaluación precisa de los defectos y daños y garantiza el cumplimiento de los estándares del sector. Además, puede automatizar el proceso de inspección de Lookout for Vision sin necesidad de conocimientos especializados en aprendizaje automático.

Con esta solución, puede integrar su modelo de visión artificial en cualquier sistema. Por ejemplo, puede integrar un modelo en un sitio web en el que los usuarios suban imágenes y las analicen para detectar defectos. La siguiente imagen muestra un ejemplo de una oblea de silicio con defectos por rayado debidos a un proceso de pulido químico-mecánico (CMP). Puedes usar Lookout for Vision para detectar estas anomalías. Por ejemplo, Lookout for Vision detectó anomalías en esta imagen con un 99,04% de confianza.

Lámina de silicona con defectos por rayaduras

Esta solución se basa en el código y el caso de uso descritos en la entrada del blog Cómo crear una solución de seguimiento basada en eventos con Amazon Lookout for Vision. Esta solución modifica el código original para permitir la automatización de las canalizaciones de CI/CD e integrar el SDK de Python de código abierto Amazon Lookout for Vision (). GitHub Para obtener más información sobre el SDK de Python, consulte la entrada del blog sobre cómo crear, entrenar e implementar modelos de Amazon Lookout for Vision mediante el SDK de Python.

Requisitos previos y limitaciones

Requisitos previos 

Arquitectura

Arquitectura de destino

Diagrama de arquitectura de esta solución

Esta arquitectura ilustra la automatización de la creación, el entrenamiento y el despliegue de los modelos de Amazon Lookout for Vision a través de una canalización de CI/CD. En el diagrama, se muestra el siguiente flujo de trabajo:

  1. El código se almacena en un CodeCommit repositorio de Amazon. Los desarrolladores pueden modificar el código, cambiar las imágenes de entrada o añadir otros pasos al proceso de automatización.

  2. Tras implementar la solución o actualizar la rama principal del CodeCommit repositorio, Amazon CodePipeline envía automáticamente el código a Amazon CodeBuild.

  3. CodeBuild utiliza el SDK de Python de Lookout for Vision para entrenar e implementar el modelo de clasificación de imágenes. Las imágenes utilizadas para el entrenamiento se almacenan en un bucket de Amazon Simple Storage Service (Amazon S3). CodeBuild descarga automáticamente estas imágenes y las almacena. Para personalizar la solución según sus necesidades, puede importar sus propias imágenes.

  4. El modelo Lookout for Vision se expone a los usuarios finales a través de AWS Lambda. Sin embargo, no está limitado a este enfoque. También puede implementar Lookout for Vision de forma remota en dispositivos IoT, o puede ejecutarlo como un proceso por lotes de forma programada para generar predicciones.

Herramientas

Servicios de AWS

  • AWS CodeBuild es un servicio de compilación totalmente gestionado que le ayuda a compilar código fuente, ejecutar pruebas unitarias y producir artefactos listos para su implementación.

  • AWS CodeCommit es un servicio de control de versiones que le ayuda a almacenar y gestionar repositorios de Git de forma privada, sin necesidad de gestionar su propio sistema de control de código fuente.

  • AWS le CodePipeline ayuda a modelar y configurar rápidamente las diferentes etapas de una versión de software y a automatizar los pasos necesarios para publicar cambios de software de forma continua.

  • AWS Key Management Service (AWS KMS) facilita poder crear y controlar claves criptográficas para proteger los datos.

  • AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.

  • Amazon Lookout for Vision utiliza la visión artificial para encontrar detectores visuales en productos industriales, de forma precisa y a escala.

  • Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

Repositorio de código

El código de este patrón está disponible en el repositorio de formación e implementación de GitHub Automate Amazon Lookout for Vision para Silicon Wafer Anomaly Detection.

Prácticas recomendadas

Cuando ejecutes el código como un experimento, asegúrate de detener tu terminal Amazon Lookout for Vision.

Epics

TareaDescripciónHabilidades requeridas

Clona el GitHub repositorio.

Clona el GitHub repositorio de formación e implementación de Amazon Lookout for Vision para Silicon Wafer Anomaly Detection en tu estación de trabajo local.

git clone https://github.com/aws-samples/automated-silicon-wafer-anomaly-detection-using-amazon-lookout-for-vision.git

Bash

Cree un entorno virtual.

Introduzca el siguiente comando para crear un entorno virtual en su estación de trabajo local.

python3 -m venv .venv
Python

Instale las dependencias.

Una vez creado el entorno virtual, introduzca el siguiente comando para instalar las dependencias necesarias.

pip install -r requirements.txt
Python

(Solo para usuarios de Linux) Active el entorno virtual.

Una vez completada la inicialización y creado el entorno virtual, utilice el siguiente comando para activar el entorno virtual.

source .venv/bin/activate
Bash

(Solo para usuarios de Windows) Active el entorno virtual.

Una vez completada la inicialización y creado el entorno virtual, utilice el siguiente comando para activar el entorno virtual.

.venv\Scripts\activate.bat
PowerShell

Implemente la pila.

  1. En la CLI de AWS CDK, introduzca el siguiente comando para sintetizar la plantilla de AWS CloudFormation .

    cdk synth
  2. Introduzca el siguiente comando para implementar la CloudFormation pila.

    cdk deploy --all --require-approval never

    --all flagEsto garantiza que todos los componentes estén instalados a la vez. --require-approvalnunca elimina la necesidad de aprobar el despliegue de cada componente.

Administrador de AWS
TareaDescripciónHabilidades requeridas

Introduzca un ejemplo de evento de prueba.

  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija la amazon-lookout-for-vision-project-lambda función.

  3. Elija la pestaña Prueba.

  4. En Evento de prueba, selecciona Crear nuevo evento.

  5. Introduce lo siguiente.

  6. Seleccione Probar.

    { "tbd": "tbd" }
  7. En Execution result (Resultado de ejecución), expanda Details (Detalles) para ver los resultados.

AWS general

Recursos relacionados

Documentación de AWS

Publicaciones del blog de AWS