Conceitos básicos do Amazon Lookout for Vision - Amazon Lookout for Vision

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conceitos básicos do Amazon Lookout for Vision

Antes de iniciar estas instruções de introdução, recomendamos que você leiaNoções básicas sobre o Amazon Lookout for Vision.

As instruções de introdução mostram como criar um exemplo de modelo de segmentação de imagens. Se você quiser criar um exemplo de modelo de classificação de imagens, consulteConjunto de dados de classificação de imagens.

Se você quiser experimentar rapidamente um modelo de exemplo, fornecemos exemplos de imagens de treinamento e imagens de máscara. Também fornecemos um script Python que cria um arquivo manifesto de segmentação de imagens. Você usa o arquivo de manifesto para criar um conjunto de dados para seu projeto e não precisa rotular as imagens no conjunto de dados. Ao criar um modelo com suas próprias imagens, você deve rotular as imagens no conjunto de dados. Para obter mais informações, consulte Criar um conjunto de dados.

As imagens que fornecemos são de cookies normais e anômalos. Um biscoito anômalo tem uma rachadura na forma de biscoito. O modelo que você treina com as imagens prevê uma classificação (normal ou anômala) e encontra a área (máscara) das rachaduras em um biscoito anômalo, conforme mostrado no exemplo a seguir.

Chocolate chip cookie with a visible crack across its surface on a green background.

Etapa 1: criar o arquivo de manifesto e fazer upload de imagens

Neste procedimento, você clona o repositório de documentação do Amazon Lookout for Vision em seu computador. Em seguida, você usa um script Python (versão 3.7 ou superior) para criar um arquivo de manifesto e carregar as imagens de treinamento e as imagens de máscara em um local do Amazon S3 que você especificar. Você usa o arquivo de manifesto para criar seu modelo. Posteriormente, você usa imagens de teste no repositório local para testar seu modelo.

Para criar o arquivo de manifesto e fazer upload de imagens
  1. Configure o Amazon Lookout for Vision seguindo as instruções em Configurar o Amazon Lookout for Vision Certifique-se de instalar o AWSSDK for Python.

  2. Na AWS região em que você deseja usar o Lookout for Vision, crie um bucket do S3.

  3. No bucket do Amazon S3, crie uma pasta chamada getting-started.

  4. Observe o URI do Amazon S3 e o nome do recurso da Amazon (ARN) da pasta. Você os usa para configurar permissões e executar o script.

  5. Certifique-se de que o usuário que está chamando o script tenha permissão para chamar a s3:PutObject operação. Você pode usar a seguinte política. Para atribuir permissões, consulte Como atribuir permissões

    { "Version": "2012-10-17", "Statement": [{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3::: ARN for S3 folder in step 4/*" ] }] }
  6. Verifique se você tem um perfil local nomeado lookoutvision-access e se o usuário do perfil tem a permissão da etapa anterior. Para obter mais informações, consulte Usando um perfil em seu computador local.

  7. Faça o download do arquivo zip, getting-started.zip. O arquivo zip contém o conjunto de dados de introdução e o script de configuração.

  8. Descompacte o arquivo getting-started.zip.

  9. No prompt de comando, faça o seguinte:

    1. Navegue para a pasta getting-started.

    2. Execute o comando a seguir para criar um arquivo de manifesto e carregar as imagens de treinamento e as máscaras de imagem para o caminho do Amazon S3 que você anotou na etapa 4.

      python getting_started.py S3-URI-from-step-4
    3. Quando o script for concluído, anote o caminho para o train.manifest arquivo que o script exibe depoisCreate dataset using manifest file:. O caminho deve ser similar aos3://path to getting started folder/manifests/train.manifest.

Etapa 2: Criar o modelo

Neste procedimento, você cria um projeto e um conjunto de dados usando as imagens e o arquivo de manifesto que você carregou anteriormente no seu bucket do Amazon S3. Em seguida, você cria o modelo e visualiza os resultados da avaliação do treinamento do modelo.

Como você cria o conjunto de dados a partir do arquivo de manifesto de introdução, não precisa rotular as imagens do conjunto de dados. Ao criar um conjunto de dados com suas próprias imagens, você precisa rotular as imagens. Para obter mais informações, consulte Rotulagem de imagens.

Importante

Você é cobrado pelo treinamento bem-sucedido de um modelo.

Como criar um modelo
  1. Abra o console Amazon Lookout for Vision em https://console.aws.amazon.com/lookoutvision/.

  2. Verifique se você está na mesma região da AWS em que criou o bucket do Amazon S3 em Etapa 1: criar o arquivo de manifesto e fazer upload de imagens. Na barra de navegação, escolha o nome da região exibida no momento. Depois, escolha a região para a qual pretende alternar.

  3. Escolha Como começar.

    Amazon Lookout for Vision service description and Get started button highlighted.
  4. Na seção Projetos, escolha Criar projeto).

    Dashboard overview with empty statistics and a "Create project" button highlighted.
  5. Na página Criar política faça o seguinte:

    1. Em Nome do projeto, insira getting-started.

    2. Escolha Criar projeto.

    Project creation interface for anomaly detection model with project name input field.
  6. Na página do projeto, na seção Como funciona, escolha Criar conjunto de dados.

    Getting-started info page showing steps to prepare dataset and train model.
  7. Na página Criar banco de dados , faça o seguinte:

    1. Escolha Criar um único conjunto de dados.

    2. Na seção Configuração da fonte de imagem, escolha Importar imagens rotuladas pelo SageMaker Ground Truth.

    3. Para a localização do arquivo.manifest, insira a localização do arquivo manifesto no Amazon S3 que você anotou na etapa 6.c. de Etapa 1: criar o arquivo de manifesto e fazer upload de imagens A localização do Amazon S3 deve ser semelhante a s3://path to getting started folder/manifests/train.manifest

    4. Escolha Criar grupo de conjuntos de dados.

    Dataset configuration options with single dataset creation selected and image import methods.
  8. Na página de detalhes do projeto, na seção Imagens, visualize as imagens do conjunto de dados. Você pode visualizar as informações de classificação e segmentação da imagem (rótulos de máscara e anomalia) para cada imagem do conjunto de dados. Você também pode pesquisar imagens, filtrar imagens pelo status da etiqueta (etiquetada/não rotulada) ou filtrar imagens pelos rótulos de anomalia atribuídos a elas.

    Image labeling interface showing three chocolate chip cookies with cracks, labeled as anomalies.
  9. Na página de detalhes do projeto, escolha Modelo de trem.

    Getting-started page with instructions to prepare datasets and a Train model button.
  10. Na página de detalhes do modelo do trem, escolha Modelo do trem.

  11. No Você quer treinar seu modelo? caixa de diálogo, escolha Modelo do trem.

  12. Na página Modelos do projeto, você pode ver que o treinamento começou. Verifique o status atual visualizando a coluna Status da versão do modelo. O treinamento do modelo leva pelo menos 30 minutos para ser concluído. O treinamento foi concluído com sucesso quando o status muda para Treinamento concluído.

  13. Quando o treinamento terminar, escolha o modelo Modelo 1 na página Modelos.

    Models page showing one model named Model 1 with Training complete status.
  14. Na página de detalhes do modelo, visualize os resultados da avaliação na guia Métricas de desempenho. Existem métricas para o seguinte:

    • Métricas gerais de desempenho do modelo (precisão, recall e pontuação F1) para as previsões de classificação feitas pelo modelo.

      Model performance metrics showing 100% precision, recall, and F1 score for 20 test images.
    • Métricas de desempenho para rótulos de anomalias encontrados nas imagens de teste (média de IoU, pontuação F1)

      Table showing performance metrics for "cracked" label with 10 test images, 86.1% F1 score, and 74.53% Average IoU.
    • Previsões para imagens de teste (classificação, máscaras de segmentação e rótulos de anomalias)

      Three chocolate chip cookies on dark surfaces, two with green anomalies labeled as "cracked".

    Como o treinamento do modelo não é determinístico, os resultados da avaliação podem ser diferentes dos resultados mostrados nesta página. Para obter mais informações, consulte Melhoria de um modelo do Amazon Lookout for Vision.

Etapa 3: iniciar o modelo

Nesta etapa, você começa a hospedar o modelo para que ele esteja pronto para analisar imagens. Para obter mais informações, consulte Executando seu modelo treinado do Amazon Lookout for Vision.

nota

Você é cobrado pela quantidade de tempo que o modelo funciona. Você interrompe seu modeloEtapa 5: interromper o modelo.

Como iniciar o modelo.
  1. Na página de detalhes do modelo, escolha Usar modelo e, em seguida, escolha Integrar API à nuvem.

    Model 1 page with "Use model" button and dropdown option "Integrate API to the cloud".
  2. Na seção de AWS CLIcomandos, copie o start-model AWS CLI comando.

    AWS CLI command to start a Lookout for Vision model with project and version details.
  3. Certifique-se de que o AWS CLI esteja configurado para ser executado na mesma AWS região em que você está usando o console Amazon Lookout for Vision. Para alterar a AWS região que o AWS CLI usa, consulteInstale os AWS SDKS.

  4. No prompt de comando, inicie o modelo digitando o start-model comando. Se você estiver usando o lookoutvision perfil para obter credenciais, adicione o --profile lookoutvision-access parâmetro. Por exemplo:

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

    Se a chamada tiver êxito, a seguinte saída será exibida:

    { "Status": "STARTING_HOSTING" }
  5. De volta ao console do , escolha Instâncias no painel de navegação.

    AWSLookout for Vision console showing CLI commands to start model and detect anomalies.
  6. Espere até que o status do modelo (Modelo 1) na coluna Status exiba Hospedado. Se você já treinou um modelo no projeto, aguarde a conclusão da versão mais recente do modelo.

    Model 1 with Hosted status, 100% precision and recall, created on September 21st, 2022.

Etapa 4: Analisar uma imagem

Nesta etapa, você analisa uma imagem com o modelo. Fornecemos exemplos de imagens que você pode usar na pasta de introdução test-images no repositório de documentação do Lookout for Vision em seu computador. Para obter mais informações, consulte Detectar as anomalias de uma imagem.

Como analisar uma imagem
  1. Na página Modelos, escolha o modelo Modelo 1.

    Models table showing Model 1 with Hosted status, creation date, and 100% precision and recall.
  2. Na página de detalhes do modelo, escolha Usar modelo e, em seguida, escolha Integrar API à nuvem.

    Model 1 page with "Use model" button and dropdown option "Integrate API to the cloud".
  3. Na seção de AWS CLIcomandos, copie o detect-anomalies AWS CLI comando.

    AWS CLI command for detect-anomalies with parameters for project, model version, and image file.
  4. No prompt de comando, analise uma imagem anômala inserindo o detect-anomalies comando da etapa anterior. Para o --body parâmetro, especifique uma imagem anômala da test-images pasta de introdução do seu computador. Se você estiver usando o lookoutvision perfil para obter credenciais, adicione o --profile lookoutvision-access parâmetro. Por exemplo:

    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

    A saída deve ser semelhante à seguinte:

    { "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. Observe o seguinte sobre a saída:

    • IsAnomalousé um booleano para a classificação prevista. truese a imagem for anômala, caso contrário. false

    • Confidence é um valor flutuante que representa a confiança que o Amazon Lookout for Vision tem na previsão. 0 é a menor confiança, 1 é a confiança mais alta.

    • Anomalies é uma lista de anomalias encontradas na imagem. Name é o rótulo da anomalia. PixelAnomaly inclui a área percentual total da anomalia (TotalPercentageArea) e uma cor (Color) para o rótulo da anomalia. A lista também inclui uma anomalia de “fundo” que cobre a área externa das anomalias encontradas na imagem.

    • AnomalyMask é uma imagem de máscara que mostra a localização das anomalias na imagem analisada.

    É possível usar as informações na resposta para exibir uma combinação da imagem analisada e da máscara de anomalia, conforme mostrado no exemplo a seguir. Para ver um código demonstrativo, consulte Exibindo informações de classificação e segmentação.

    Chocolate chip cookie with green segmentation highlighting cracked areas, labeled as anomalous.
  6. No prompt de comando, analise uma imagem normal da test-images pasta de introdução. Se você estiver usando o lookoutvision perfil para obter credenciais, adicione o --profile lookoutvision-access parâmetro. Por exemplo:

    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

    A saída deve ser semelhante à seguinte:

    { "DetectAnomalyResult": { "Source": { "Type": "direct" }, "IsAnomalous": false, "Confidence": 0.9916400909423828, "Anomalies": [ { "Name": "background", "PixelAnomaly": { "TotalPercentageArea": 1.0, "Color": "#FFFFFF" } } ], "AnomalyMask": "iVBORw0KGgoAAAANSUhEUgAAAkAAAA....." } }
  7. Na saída, observe que o false valor de IsAnomalous classifica a imagem como sem anomalias. Use Confidence para ajudar a decidir sua confiança na classificação. Além disso, a Anomalies matriz tem apenas o rótulo de background anomalia.

Etapa 5: interromper o modelo

Nesta etapa, você deixa de hospedar o modelo. Você é cobrado pela quantidade de tempo em que seu modelo está em execução. Se você não estiver usando o modelo, interrompa. Você poderá reiniciar o modelo na próxima vez que precisar dele. Para obter mais informações, consulte Iniciar seu modelo do Amazon Lookout for Vision.

Como parar o modelo.
  1. No painel de navegação, escolha Modelos.

    AWSLookout for Vision console showing CLI commands to start model and detect anomalies.
  2. Na página Modelos, escolha o modelo Modelo 1.

    Models table showing Model 1 with Hosted status, creation date, and 100% precision and recall.
  3. Na página de detalhes do modelo, escolha Usar modelo e, em seguida, escolha Integrar API à nuvem.

    Model 1 page with "Use model" button and dropdown option "Integrate API to the cloud".
  4. Na seção de comandos AWS CLI, copie o comando stop-model AWS CLI.

    Copy button icon next to AWS CLI command for stopping a Lookout for Vision model.
  5. No prompt de comando, pare o modelo inserindo o stop-model AWS CLI comando da etapa anterior. Se você estiver usando o lookoutvision perfil para obter credenciais, adicione o --profile lookoutvision-access parâmetro. Por exemplo:

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

    Se a chamada tiver êxito, a seguinte saída será exibida:

    { "Status": "STOPPING_HOSTING" }
  6. De volta ao console, escolha Modelos na página de navegação à esquerda.

  7. O modelo foi interrompido quando o status do modelo na coluna Status é Treinamento concluído.

Próximas etapas

Quando estiver pronto para criar um modelo com suas próprias imagens, comece seguindo as instruções emCriar seu projeto. As instruções incluem etapas para criar um modelo com o console Amazon Lookout for Vision e com AWS o SDK.

Se você quiser experimentar outros exemplos de conjuntos de dados, consulte Exemplos de códigos e conjuntos de dados.