Detecção de defeitos com o Lookout for Vision
  • 31 Oct 2023
  • 7 Minutos para Ler
  • Contribuintes

Detecção de defeitos com o Lookout for Vision


Resumo do artigo

Detecção de defeitos com o Lookout for Vision

Implemente uma inspeção visual automática de defeitos com o Tulip Vision e o AWS Lookout for Vision

A inspeção visual é um aspecto fundamental da manutenção da qualidade da produção, mas é difícil de ser implementada sem deixar de ser enxuta, pois os custos de recursos humanos dedicados à inspeção são altos. A inspeção visual manual também é uma operação de alta rotatividade; é muito repetitiva e pode ser visualmente desafiadora.

A inspeção visual automática com câmeras e aprendizado de máquina muda completamente o cenário. Os algoritmos de inspeção visual baseados em aprendizado de máquina avançaram a ponto de superar o desempenho humano, tanto em termos de tempo quanto de precisão.

Com o Tulip, você pode implementar a inspeção visual automática conectando as saídas da sua câmera Vision a um serviço de nuvem de detecção de anomalias visuais de primeira classe. O Lookout for Vision da Amazon é um desses serviços, que oferece um algoritmo poderoso em um ponto de extremidade simples de API REST que pode ser facilmente integrado ao Tulip.

Neste artigo, mostramos como configurar as coisas rapidamente no AWS com o Cloud Formation e também no Tulip com um aplicativo de biblioteca pré-empacotado. Assista ao vídeo a seguir para ver um tutorial ao vivo sobre esse processo.

Pré-requisitos

Antes de iniciar esse processo, certifique-se de que você tenha os seguintes recursos disponíveis:

  • Uma câmera USB conectada a um PC Tulip Player (consulte o guia de recomendação de hardware do Tulip Vision)
  • Uma configuração de câmera do Tulip Vision para a câmera conectada e um fluxo de vídeo em funcionamento verificado (consulte o guia de introdução à visão)
  • Dados coletados com anotação normal-anomalia em uma tabela Tulip (consulte o aplicativo de coleta de dados)
  • Conta AWS com um usuário autorizado a criar recursos como o Lookout for Vision e o API Gateway (consulte o guia de introdução da Amazon)

:::(Info) (OBSERVAÇÃO) Atualmente, o Lookout for Vision está disponível apenas em regiões específicas do AWS:

Configuração do Lookout for Vision no Console do AWS

Para ajudar a configurar a infraestrutura de nuvem necessária no console do AWS, fornecemos um modelo de formação de nuvem(download). O CFT é um script curto que provisiona tudo o que é necessário na nuvem do AWS para treinar e executar modelos de detecção do Lookout for Vision (LfV) com o Tulip. Ele criará um projeto LfV, algumas funções AWS Lambda para ativar o modelo LfV e um AWS API Gateway para se comunicar com as funções. O Tulip chamará os endpoints do AWS API Gateway e, assim, executará comandos para o modelo LfV de dentro do Tulip Apps - onde a inspeção visual é feita.

  1. Faça o download do CFT.
  2. Vá para Cloud Formation no console do AWS.

  1. Crie uma pilha e carregue o arquivo CFT.

  1. Execute o script de criação de pilha do CloudFormation.

  1. Anote os resultados.

  1. Anote o valor apiGatewayInvokeURL, pois o usaremos novamente em breve para configurar nossas Connector Functions.

Anote também a chave de API da guia Recursos. Você precisará clicar nela e encontrar o valor.

Agora que o AWS foi provisionado pelo Cloud Formation, podemos ir em frente e treinar um modelo de aprendizado de máquina visual com o Lookout for Vision. Para isso, precisamos ter um conjunto de dados de imagens anotadas. Embora você possa criar o conjunto de dados manualmente, oferecemos uma maneira fácil de coletar dados com o Tulip usando nosso aplicativo Data Collection [link]. Os dados são armazenados em uma tabela do Tulip e podem ser facilmente exportados a partir dela. Vamos supor que um conjunto de dados foi coletado no Tulip para as próximas etapas.

  1. Exportar o conjunto de dados da tabela Tulip.

  1. Faça upload do conjunto de dados para o bucked S3 criado pelo Lookout for Vision.

  1. Crie um conjunto de dados no Lookout for Vision e selecione o bucket S3 como uma fonte.

Certifique-se de selecionar Automatically attach labels (Anexar rótulos automaticamente):

Agora que um conjunto de dados está pronto no Lookout for Vision, podemos treinar um modelo. O processo leva cerca de 45 minutos e é fácil no console do AWS.

  1. Clique em Train Model (Treinar modelo).

  1. Verifique o status do treinamento.

  1. Revise os resultados do treinamento.

Quando o modelo tiver concluído o treinamento, não precisaremos fazer mais nada no lado do AWS. Todas as conexões foram feitas para nós pelo Cloud Formation, e estamos prontos para conectar o Tulip ao Lookout for Vision.

Como configurar o Tulip para chamar os modelos do Lookout for Vision

O Tulip é altamente capaz de se integrar a serviços externos por meio de APIs, e é por isso que é fácil integrá-lo ao AWS Lookout for Vision. Usaremos o endpoint da API REST da última seção para controlar o modelo LfV por meio do Tulip Connector Functions. No entanto, em vez de criar as funções do zero, estamos fornecendo-as pré-criadas em nosso aplicativo de biblioteca "Detecção de defeitos com o Lookout for Vision". Isso lhe poupará muito tempo e garantirá que os conectores sejam criados corretamente. Primeiro, porém, precisaremos preencher a função de conector com os dados corretos de sua conta específica do AWS.

  1. Encontre as funções de conector no Tulip.

  1. Para o conector, defina o URL correto do endpoint do AWS, que você copiou anteriormente do Cloud Formation:

  1. Para cada função, defina a API KEY do AWS.

Certifique-se de fazer isso para todas as 4 funções.

Uso do Lookout for Vision nos aplicativos Tulip

No aplicativo Defect Detection fornecido da biblioteca, configuramos um processo muito rudimentar para executar a inspeção visual. Você pode modificar o aplicativo ou copiar partes dele para outros aplicativos de acordo com suas necessidades. Para usar o aplicativo, você precisará fazer algumas pequenas modificações para trabalhar com sua configuração específica do Tulip Vision. Será necessário apontar o gatilho de captura para a configuração da câmera Vision, bem como o widget de visualização da câmera para obter feedback visual.

  1. Configure o widget da câmera do aplicativo Tulip com a configuração correta da câmera.

  1. Configure o acionador "Detect Anomalies" (Detectar anomalias) com a configuração correta da câmera.

Agora está tudo pronto para executar seu modelo no Tulip. Antes de o modelo estar disponível para inferência (avaliação de uma imagem), ele precisa ser "hospedado", o que significa que ocupará algum recurso de computação em nuvem, como uma máquina virtual em nuvem, para servir o modelo ao seu aplicativo. Criamos um botão no aplicativo Tulip fornecido para fazer isso.

:::(Info) (OBSERVAÇÃO) Quando o modelo estiver "hospedado", ele estará consumindo recursos que têm um custo associado a eles. Lembre-se de desligar seus modelos quando não estiverem em uso, ou você estará correndo o risco de gastar dinheiro sem retorno. Os preços do AWS LfV podem ser consultados aqui. Lembre-se de que a AWS também oferece um nível gratuito para LfV. A Tulip não se responsabiliza por recursos hospedados de forma privada na AWS, mas você pode entrar em contato conosco para fazer perguntas:

Vá em frente e execute o aplicativo Defect Detection no PC do Player com a câmera de inspeção conectada. As etapas a seguir são realizadas no aplicativo em execução:

  1. Ligar o modelo ("Hosting").

:::(Info) (OBSERVAÇÃO) Quando você iniciar o modelo, ele começará a incorrer em custos. Lembre-se de desligá-lo. :::

  1. Verifique o status do modelo hospedado.

Procure o status "HOSTED" (hospedado). Se o status não for "HOSTED", o modelo não aceitará consultas.

  1. Executar uma solicitação de inferência no modelo.

O modelo agora deve estar fazendo previsões sobre se o objeto é um defeito ou uma peça normal. Adicionamos botões para fornecer feedback sobre a precisão da detecção, caso o modelo faça a previsão errada. Esses botões adicionarão mais dados à Tabela Tulipa e ao seu conjunto de dados. Periodicamente, treine novamente o modelo fornecendo a ele mais imagens de amostra para aumentar a robustez do modelo.

Conclusão

Vimos um processo fácil de seguir para começar a usar a inspeção visual automática baseada em aprendizado de máquina no Tulip. Esse processo pode economizar recursos manuais para a inspeção visual feita por uma pessoa. A aplicação desse processo também fornece um conjunto de dados visuais de todos os defeitos que surgem em seu produto, que pode ser usado de outra forma além da inspeção.

Você pode aplicar e implementar facilmente o aprendizado de máquina com o Tulip usando seus recursos de conectividade. Opte por usar outros serviços de ML em nuvem de maneira muito semelhante.

Leitura adicional


Este artigo foi útil?