Introducción a Amazon Lookout for Vision - Amazon Lookout for Vision

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.

Introducción a Amazon Lookout for Vision

Antes de empezar con la Introducción, le recomendamos que lea Análisis Amazon Lookout for Vision.

Las instrucciones de introducción muestran cómo utilizar la creación de un modelo de segmentación de imágenes de ejemplo. Si desea crear un ejemplo de modelo de clasificación de imágenes, consulteConjunto de datos de clasificación de imágenes.

Si quiere probar rápidamente un modelo de ejemplo, le ofrecemos ejemplos de imágenes de entrenamiento e imágenes de máscaras. También proporcionamos un script de Python que crea un archivo de manifiesto de segmentación de imágenes. Utiliza el archivo de manifiesto para crear un conjunto de datos para su proyecto y no necesita etiquetar las imágenes en el conjunto de datos. Al crear un modelo con sus propias imágenes, debe etiquetar las imágenes en el conjunto de datos. Para obtener más información, consulte Creación de un conjunto de datos.

Las imágenes que proporcionamos son de cookies normales y anómalas. Una cookie anómala tiene una grieta en la forma de la cookie. El modelo que entrenes con las imágenes predice una clasificación (normal o anómala) y encuentra el área (máscara) de las grietas en una cookie anómala, como se muestra en el siguiente ejemplo.

Paso 1: Crear el archivo de manifiesto y cargar las imágenes

En este procedimiento, clona el repositorio de documentación de Amazon Lookout for Vision en su ordenador. A continuación, utilice un script de Python (versión 3.7 o superior) para crear un archivo de manifiesto y cargar las imágenes de entrenamiento y las imágenes de la máscara en la ubicación de Amazon S3 que especifique. Use el archivo de manifiesto para crear el modelo. Más adelante, utilice imágenes de prueba en el repositorio local para probar el modelo.

Crear el archivo de manifiesto y cargar las imágenes
  1. Configure Amazon Lookout for Vision siguiendo las instrucciones de Configuración de Amazon Lookout for Vision. Asegúrese de instalar el AWSSDK for Python.

  2. En la AWS región en la que quiera usar Lookout for Vision, cree un bucket de S3.

  3. En el bucket de Amazon S3, cree una carpeta llamada getting-started.

  4. Anote la URI de Amazon S3 y el nombre de recurso de Amazon (ARN) de la carpeta. Los usa para configurar los permisos y ejecutar el script.

  5. Asegúrese de que el usuario que ejecuta el script tiene permisos para llamar a la s3:PutObject operación. Puede utilizar la siguiente política. Para asignar permisos, consulte Asignación de permisos.

    { "Version": "2012-10-17", "Statement": [{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3::: ARN for S3 folder in step 4/*" ] }] }
  6. Asegúrese de tener un nombre de perfil local lookoutvision-access y de que el usuario del perfil tenga el permiso del paso anterior. Para obtener más información, consulte Uso de un perfil en su equipo local.

  7. Descargue el archivo zip, getting-started.zip. El archivo zip contiene el conjunto de datos de introducción y el script de configuración.

  8. Descomprima el archivo getting-started.zip.

  9. En el símbolo del sistema, ejecute lo siguiente:

    1. Vaya a la carpeta getting-started.

    2. Ejecute el siguiente comando para crear un archivo de manifiesto y cargar las imágenes de entrenamiento y las máscaras de imagen en la ruta de Amazon S3 que indicó en el paso 4.

      python getting_started.py S3-URI-from-step-4
    3. Cuando se complete el script, anote la ruta al train.manifest archivo que aparece despuésCreate dataset using manifest file:. La ruta debería ser similar as3://path to getting started folder/manifests/train.manifest.

Paso 2: crear el modelo

En este procedimiento, crea un proyecto y un conjunto de datos con las imágenes y el archivo de manifiesto que cargó anteriormente en su bucket de Amazon S3. A continuación, debe crear el modelo y ver los resultados de la evaluación del entrenamiento del modelo.

Como el conjunto de datos se crea a partir del archivo de manifiesto de introducción, no es necesario etiquetar las imágenes del conjunto de datos. Cuando crea un conjunto de datos con tus propias imágenes, sí que necesita etiquetar las imágenes. Para obtener más información, consulte Etiquetado de imágenes.

importante

Solo se le cobrará cuando termine de formar por completo un modelo.

Para crear un modelo
  1. Abra la consola Amazon Lookout for Vision en https://console.aws.amazon.com/lookoutvision/.

  2. Asegúrese de trabajar en la misma Región AWS en la que creó el bucket de Amazon S3. Para cambiar de región de , en la barra de navegación, elija el nombre de la región mostrada actualmente. A continuación, elija la región a la que desea cambiar.

  3. Elija Get started (Comenzar).

  4. En la sección Projects, elija Create project.

  5. En la página Create project, haga lo siguiente:

    1. En getting-startedProject name, introduzca .

    2. Elija Create project (Crear proyecto).

  6. En la página del proyecto, en la sección Cómo funciona, seleccione Crear conjunto de datos.

  7. En la página Create database, haga lo siguiente:

    1. Elija Crear un conjunto de datos único.

    2. En la sección Configuración de la fuente de imágenes, elija Importar imágenes etiquetadas por Sagemaker Ground Truth.

    3. Para la ubicación del archivo .manifest, introduzca la ubicación del archivo de manifiesto que indicó en el paso 6.c de Paso 1: Crear el archivo de manifiesto y cargar las imágenes. La ubicación de Amazon S3 debe ser similar a s3://path to getting started folder/manifests/train.manifest

    4. Elija Crear conjunto de datos.

  8. En la página de detalles del proyecto, en la sección Imágenes, consulte las imágenes del conjunto de datos. Puede ver la información de clasificación y segmentación de imágenes (etiquetas de máscara y anomalía) de cada imagen del conjunto de datos. También puede buscar imágenes, filtrarlas por estado de etiquetado (etiquetadas/sin etiquetar) o filtrar imágenes por las etiquetas de anomalías que se les hayan asignado.

  9. En la página Proyecto, elija Entrenar modelo.

  10. En la página de detalles de Entrenar modelo, elija Entrenar modelo.

  11. En el cuadro de diálogo ¿Desea entrenar su modelo?, elija Entrenar modelo.

  12. En la página de modelos del proyecto, puede ver que la formación ha comenzado. Para comprobar el estado actual, consulte la columna Estado correspondiente a la versión del modelo. El entrenamiento del modelo tarda al menos 30 minutos en completarse. El entrenamiento ha finalizado correctamente cuando el estado cambia a Entrenamiento completado.

  13. Cuando finalice el entrenamiento, elija el modelo Modelo 1 en la página de modelos.

  14. En la página de detalles del modelo, consulte los resultados de la evaluación en la pestaña Métricas de rendimiento. Las siguientes métricas están disponibles para lo siguiente:

    Como el entrenamiento con modelos no es determinista, los resultados de la evaluación pueden diferir de los que se muestran en esta página. Para obtener más información, consulte Mejorar su modelo Amazon Lookout for Vision.

Paso 3: Iniciar el modelo

En este paso, comienza a alojar el modelo para que esté listo para analizar las imágenes. Para obtener más información, consulte Ejecución de un modelo Amazon Lookout for Vision formado.

nota

Se le cobrará por la cantidad de tiempo en que se ejecute el modelo. Puede detener el modelo en Paso 3: detener el modelo.

Iniciar el modelo.
  1. En la página de detalles del modelo, seleccione Usar modelo y a continuación, seleccione Integrar la API en la nube.

  2. En la sección de AWS CLIcomandos, copie el comando start-model AWS CLI.

  3. Asegúrese de que AWS CLI está configurado para ejecutarse en la misma AWS región en la que utiliza la consola Amazon Lookout for Vision. Para cambiar la AWS región que AWS CLI utilizan, consulte Instale los SDK AWS.

  4. En la línea de comandos, inicie el modelo introduciendo el comando start-model. Si va a usar el perfil lookoutvision para obtener las credenciales, añada el parámetro --profile lookoutvision-access. Por ejemplo:

    aws lookoutvision start-model \ --project-name getting-started \ --model-version 1 \ --min-inference-units 1 \ --profile lookoutvision-access

    Si la llamada se realiza correctamente, se muestra el siguiente resultado:

    { "Status": "STARTING_HOSTING" }
  5. En la consola, elija Modelos en la página de navegación.

  6. Espere hasta que el estado del modelo (Modelo 1) de la columna Estado muestre Alojado. Si ya ha entrenado un modelo en el proyecto, espere a que se complete la última versión del modelo.

Paso 4: analice una imagen

Paso 9: Analizar una imagen con su modelo Proporcionamos imágenes de ejemplo que puede utilizar en la test-images carpeta de introducción del repositorio de documentación de Lookout for Vision de su ordenador. Para obtener más información, consulte Detección de anomalías en una imagen.

Analizar una imagen
  1. En la página de Modelos, elija el modelo Modelo 1.

  2. En la página de detalles del modelo, seleccione Usar modelo y a continuación, seleccione Integrar la API en la nube.

  3. En la sección de AWS CLIcomandos, copie el comando detect-anomalies AWS CLI.

  4. En la línea de comandos, analice una imagen anómala ingresando el detect-anomalies comando del paso anterior. Para el --body parámetro, especifique una imagen anómala de la test-images carpeta de introducción de su ordenador. Si va a usar el perfil lookoutvision para obtener las credenciales, añada el parámetro --profile lookoutvision-access. Por ejemplo:

    aws lookoutvision detect-anomalies \ --project-name getting-started \ --model-version 1 \ --content-type image/jpeg \ --body /path/to/test-images/test-anomaly-1.jpg \ --profile lookoutvision-access

    El resultado debería tener un aspecto similar al siguiente:

    { "DetectAnomalyResult": { "Source": { "Type": "direct" }, "IsAnomalous": true, "Confidence": 0.983975887298584, "Anomalies": [ { "Name": "background", "PixelAnomaly": { "TotalPercentageArea": 0.9818974137306213, "Color": "#FFFFFF" } }, { "Name": "cracked", "PixelAnomaly": { "TotalPercentageArea": 0.018102575093507767, "Color": "#23A436" } } ], "AnomalyMask": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAMACA......" } }
  5. Tenga en cuenta lo siguiente sobre la salida:

    • IsAnomalouses un booleano para la clasificación prevista. truesi la imagen es anómala, en caso contrario. false

    • Confidencees un valor flotante que representa la confianza que Amazon Lookout for Vision tiene en la predicción. 0 es la confianza más baja y 1 es la confianza más alta.

    • Anomalieses una lista de las anomalías que se encuentran en la imagen. Namees la etiqueta de anomalía. PixelAnomalyincluye el área porcentual total de la anomalía (TotalPercentageArea) y un color (Color) para la etiqueta de la anomalía. La lista también incluye una anomalía de «fondo» que cubre el área que queda fuera de las anomalías que se encuentran en la imagen.

    • AnomalyMaskes una imagen de máscara que muestra la ubicación de las anomalías en la imagen analizada.

    Puede utilizar la información de la respuesta para mostrar una combinación de la imagen analizada y la máscara de anomalías, tal como se muestra en el siguiente ejemplo. Para ver código de ejemplo, consulte Mostrar información de clasificación y segmentación.

  6. En la línea de comandos, analice una imagen normal de la test-images carpeta de introducción. Si va a usar el perfil lookoutvision para obtener las credenciales, añada el parámetro --profile lookoutvision-access. Por ejemplo:

    aws lookoutvision detect-anomalies \ --project-name getting-started \ --model-version 1 \ --content-type image/jpeg \ --body /path/to/test-images/test-normal-1.jpg \ --profile lookoutvision-access

    El resultado debería tener un aspecto similar al siguiente:

    { "DetectAnomalyResult": { "Source": { "Type": "direct" }, "IsAnomalous": false, "Confidence": 0.9916400909423828, "Anomalies": [ { "Name": "background", "PixelAnomaly": { "TotalPercentageArea": 1.0, "Color": "#FFFFFF" } } ], "AnomalyMask": "iVBORw0KGgoAAAANSUhEUgAAAkAAAA....." } }
  7. En el resultado, observe que el false valor de IsAnomalous clasifica la imagen como si no tuviera anomalías. ConfidenceUtilícelo para decidir su confianza en la clasificación. Además, la Anomalies matriz solo tiene la etiqueta de background anomalía.

Paso 3: detener el modelo

En este paso, dejará de alojar el modelo. Se le cobrará por la cantidad de tiempo de ejecución del modelo. Si no utiliza el modelo, debería detenerlo. Puede reiniciar el modelo la próxima vez que lo necesite. Para obtener más información, consulte Inicio del modelo Amazon Lookout for Vision.

Detener el modelo.
  1. En el panel de navegación, elija Models.

  2. En la página de modelos, elija el modelo Modelo 1.

  3. En la página de detalles del modelo, seleccione Usar modelo y a continuación, seleccione Integrar la API en la nube.

  4. En la sección de AWS CLIcomandos, copie el comando stop-model AWS CLI.

  5. En la línea de comandos, detenga el modelo introduciendo el comando stop-model AWS CLI del paso anterior. Si va a usar el perfil lookoutvision para obtener las credenciales, añada el parámetro --profile lookoutvision-access. Por ejemplo:

    aws lookoutvision stop-model \ --project-name getting-started \ --model-version 1 \ --profile lookoutvision-access

    Si la llamada se realiza correctamente, se muestra el siguiente resultado:

    { "Status": "STOPPING_HOSTING" }
  6. En la consola, elija Modelos en la página de navegación izquierda.

  7. El modelo se ha detenido cuando el valor de la columna Estado es Entrenamiento finalizado.

Pasos siguientes

Cuando esté listo para crear un modelo con sus propias imágenes, comience por seguir las instrucciones que se indican enCreación de su proyecto. Las instrucciones incluyen los pasos para crear un modelo con la consola Amazon Lookout for Vision y con el SDK AWS.

Si quiere probar otros conjuntos de datos de ejemplo, consulte Ejemplos de código y conjuntos de datos.