Participe da Maratona Behind the Code! A competição de programação que mais te desafia! Inscreva-se aqui

Reduza o custo do controle de qualidade industrial

Por que fazer inspeção visual para controle de qualidade na manufatura

Técnicas rigorosas de controle de qualidade tornaram-se um diferenciador essencial no setor de manufatura e produção atualmente. O setor automobilístico é um exemplo em que essas técnicas são cada vez mais importantes, pois se referem ao cumprimento das normas de conformidade regulatória e segurança dos passageiros. O processo de manufatura de um carro envolve a montagem de centenas de peças (ou mais). Muitas peças recebem gravações usando procedimentos de formação de metal. Entre os principais componentes que precisam passar por controles de qualidade rigorosos estão as chapas de aço. Neste tutorial, você aprenderá como o IBM Maximo Visual Inspection pode ser usado para detectar defeitos em superfícies de chapa de aço como parte do processo automatizado de manufatura de modo a maximizar a eficiência e a eficácia dos processos de inspeção de qualidade.

Pré-requisitos

O IBM Maximo Visual Inspection é uma plataforma de reconhecimento visual com modelos integrados de deep learning e uma interface intuitiva que podem ser usados para desenvolver modelos de classificação, bem como detecção de objetos em imagens e streams de vídeo. Ele inclui um kit de ferramentas intuitivo que permite que especialistas criem modelos de visão de deep learning, sem terem conhecimento especializado de deep learning ou codificação. Inclui as mais populares infraestruturas de deep learning e suas dependências, além de facilitar e acelerar a implementação e aumentar a produtividade da equipe. Combinando o IBM Maximo Visual Inspection com IBM Power Systems acelerados, as empresas podem rapidamente implementar uma plataforma totalmente otimizada, compatível e com o melhor desempenho. Para concluir este tutorial, você precisará de acesso a uma instância do IBM Maximo Visual Inspection.

Este tutorial pressupõe que você está familiarizado com o Maximo Visual Inspection. Caso contrário, comece com o caminho de aprendizado Introdução ao IBM Maximo Visual Inspection.

Entender o conjunto de dados

O conjunto de dados mencionado neste tutorial é um subconjunto do conjunto de dados acima, que foi disponibilizado pela HCI. Baixe os conjuntos de dados de amostra. Esse conjunto de dados contém imagens rotuladas de treinamento e teste para detectar defeitos em superfícies de aço. O conjunto de dados é composto de diferentes imagens que mostram a superfície real de chapas de aço, com e sem defeitos. Para os fins deste tutorial, o subconjunto do conjunto de dados usado para detectar defeitos é categorizado como:

  • Defeitos de furo: esse tipo de defeito ocorre quando furos são feitos na superfície da chapa de metal por acidente durante o processo de manufatura.
    Defeito de furo

  • Defeitos de linha: esse tipo de defeito ocorre quando uma máquina de corte atua em uma superfície errada.
    Defeito de linha

  • Defeito de arranhão: esse defeito é resultado de arranhões que podem ocorrer na superfície de chapas de metal na linha de produção.
    Defeito de arranhão

  • Defeito de temperatura: o processo de solidificação do aço é muito específico. Às vezes, algumas áreas das chapas de aço se solidificam sob condições locais que causam um defeito de temperatura na superfície.
    Defeito de temperatura

O objetivo deste caso de uso é reduzir o custo do controle de qualidade industrial por meio da inspeção visual usada para identificar defeitos de manufatura e realizar ações corretivas com o gerenciamento automatizado de processos e decisões. Para esse caso de uso específico, os três conjuntos de dados fornecidos são um subconjunto do conjunto de dados da HCI e incluem:

  • 5x4WithoutNondefect: esse conjunto de dados contém algumas imagens de cada defeito. Portanto, são os dados ideais para rotular e desenvolver manualmente o modelo preliminar com o qual aplicaríamos a rotulagem automática.

  • 12x4WithoutNonDefect_Autolabel: essa pasta contém um grande número de imagens. Nesses dados, o modelo preliminar será aplicado a fim de categorizar automaticamente as imagens e, então, desenvolver o modelo que será usado no teste.

  • 4x4With20Nondefect_ForTEST: é uma pequena amostra de 16 imagens com defeito e 20 imagens sem defeito. O modelo será testado com essas imagens.

Etapas

Agora, você desenvolverá um modelo de inspeção visual de deep learning para classificar defeitos industriais em superfícies de aço. Em seguida, testará e avaliará o modelo.

Criar um novo conjunto de dados no Maximo Visual Inspection

  1. Entre no Maximo Visual Inspection.
  2. Selecione a guia Data sets na barra do navegador no Maximo Visual Inspection para abrir a página Data Sets. Existem várias maneiras de criar um novo conjunto de dados. Para este tutorial, crie um novo conjunto de dados vazio clicando no botão Create a new data set. Defina o nome do novo conjunto de dados como Steel Defect e clique em Create para criar o novo conjunto de dados vazio. novo conjunto de dados vazio do mvi
  3. Para adicionar uma imagem ao conjunto de dados, clique no recém-criado Steel Defect data set, que abrirá a visualização Data Set. Importe as imagens de dados de treinamento. Para isso, arraste e solte os arquivos de imagens de treinamento e clique no botão Import files para importar as imagens. Importe o conjunto de dados 5x4WithoutNondefect fornecido. Ele é pequeno o suficiente para ser rotulado manualmente. importar 5x4 without non defect para o mvi
  4. Clique no botão Add files para importar os arquivos de dados com imagens de treinamento para o novo conjunto de dados no Maximo Visual Inspection. Depois que todas as imagens forem importadas, elas aparecerão na visualização do Steel Defect Data Set. 5x4 without non defect importado para o mvi

Importante: não é possível navegar para fora da página do Maximo Visual Inspection ou atualizá-la antes que o upload seja concluído. No entanto, é possível navegar para diferentes páginas do Maximo Visual Inspection durante o upload.

Rotular objetos no conjunto de dados de treinamento

A próxima etapa é rotular objetos nas imagens de treinamento que foram importadas. A fim de treinar um modelo de detecção de objetos com o Maximo Visual Inspection, é necessário ter um mínimo de cinco imagens rotuladas para cada objeto. Agora, prossiga para a rotulagem de cinco imagens para cada um dos objetos: Furo, Linha, Arranhão e Temperatura. Esses objetos e os rótulos correspondentes representam defeitos de manufatura em superfícies de aço que precisam ser inspecionadas.

  1. Selecione as imagens do seu conjunto de dados e clique em Label Objects.
  2. Adicione quatro objetos para Furo, Linha, Arranhão e Temperatura. Basta clicar no botão Add Object do item da barra de menus Objects à esquerda e inserir o rótulo do objeto na caixa de diálogo pop-up Add Objects. objetos do 5x4 without non defect no mvi
  3. Rotule os objetos nas imagens do conjunto de dados importadas. Abra cada imagem na área de dados clicando nela. Uma visualização prévia em miniatura será aberta. Clique no botão Label Objects na visualização prévia. Selecione o rótulo do objeto correto no menu à direita e, depois, escolha Caixa ou Polígono no menu do canto inferior esquerdo, dependendo do formato que deseja desenhar ao redor de cada objeto. As caixas são mais rápidas de rotular e treinar, porém menos precisas. Somente os modelos Detectron são compatíveis com polígonos. objetos com rótulo 5x4 without non defect no mvi
    Repita as etapas de rotulagem para cada imagem no conjunto de imagens de treinamento importadas.
  4. Depois que todos os objetos forem rotulados em todas as imagens, clique em Done editing.

Treinar o modelo de detecção de objetos

Com todos os rótulos de objetos que estão identificados no seu conjunto de dados, já é possível treinar o modelo de deep learning. Para treinar um modelo, conclua as etapas a seguir:

  1. Na visualização do conjunto de dados, clique no botão Train model.
  2. Preencha os campos na página Train Data set, lembrando-se de selecionar Object Detection para o tipo de treinamento. Existem opções de treinamento diferentes que fornecem resultados diferentes, como veremos na conclusão deste guia. selecionar treinamento do 5x4 without non defect no mvi
  3. Clique em Train. opções de treinamento do 5x4 without non defect no mvi
  4. Dependendo do tamanho do conjunto de dados de treinamento e das opções selecionadas, o tempo e a precisão do treinamento variam. É possível monitorar o progresso enquanto o modelo de detecção de objetos está sendo treinado. treinamento do 5x4 without non defect no mvi

Como treinar o modelo de detecção de objetos com defeito no aço

Para implementar o modelo treinado, conclua as etapas a seguir:

  1. Clique em Models no menu.
  2. Selecione o modelo que criou na seção anterior e clique em Deploy. 5x4 without non defect treinado no mvi
  3. Especifique um nome para o modelo e clique em Deploy. A página Deployed Models é exibida. O modelo está implementado quando a coluna de status informa Ready. implementar 5x4 without non defect no mvi
  4. Clique duas vezes no modelo implementado para obter o endpoint da API e testar outros vídeos ou imagens em relação ao modelo. Para obter informações sobre o uso da API, consulte a documentação da API Vision Service. 5x4 without non defect implementado no mvi

Observação: cada modelo implementado personalizado ou Tiny YOLO V2, YOLO V3, Detectron, Single Shot Detector (SSD) ou Structured segment network (SSN) consome uma GPU. O grupo de GPUs é listado como ‘-‘, o que indica que esse modelo usa uma GPU completa e não compartilha o recurso com outros modelos implementados. Vários modelos R-CNN e GoogLeNet mais rápidos são implementados em uma única GPU. O IBM Maximo Visual Inspection usa pacotes para implementar os modelos. Isso significa que o modelo é implementado na GPU que tem mais modelos implementados nela, caso haja memória suficiente disponível na GPU. O grupo de GPUs pode ser usado para determinar quais modelos implementados compartilham um recurso de GPU. Para liberar uma GPU, todos os modelos implementados em um grupo de GPUs precisam ser excluídos (implementação removida).

Rotular automaticamente um conjunto de dados maior

Agora que o modelo de detecção de objetos rotulado manualmente foi desenvolvido e implementado, a opção de rotular automaticamente um conjunto de dados maior fica disponível. A rotulagem automática fornece um método autônomo para rotular o conjunto de dados. Rotule automaticamente o conjunto de dados maior usando essa opção e, em seguida, um novo modelo que terá precisão superior, com o conjunto de dados maior usado para treinamento.

  1. Clique na guia Data set no menu.
  2. Crie um novo conjunto de dados como fez anteriormente na seção Criar um novo conjunto de dados no Maximo Visual Inspection. Para isso, basta importar imagens de treinamento do archive 12x4WithoutNonDefect_Autolabel. Observe que as imagens importadas nesse conjunto de dados não estão rotuladas.
  3. Clique na opção Auto label e escolha o modelo implementado com o qual deseja rotular automaticamente as imagens. rotular automaticamente 12x4 without non defect no mvi
  4. Você verá uma notificação de confirmação depois que a rotulagem for concluída. Observe que as imagens nesse conjunto de dados já estão rotuladas. rotulagem automática do 12x4 without non defect no mvi concluída
  5. Agora, treine um modelo com o conjunto de dados rotulado automaticamente conforme feito acima na seção Como treinar o modelo de detecção de objetos com defeito no aço.
  6. Implemente o modelo conforme feito na seção Como treinar o modelo de detecção de objetos com defeito no aço.

Testar o modelo de detecção de objetos

Agora, teste o modelo de detecção de objetos criado. O modelo criado com um conjunto maior deve ter uma precisão superior. Ao testar a precisão dos modelos, o Maximo Visual Inspection tem um parâmetro Confidence threshold que pode ser especificado. Ele indica a precisão com a qual o modelo detecta objetos em imagens. Trata-se de um bom indicador da qualidade do modelo, além de um ponto de dados que o MVI fornece ao testar a precisão dos modelos.

Para testar os modelos que foram criados, navegue até a guia Models e o modelo implementado desejado. Clique nele para abrir o modelo. modelos implementados no mvi

Navegue até a seção Test Model na parte inferior da página. Para carregar as imagens de teste, arraste-as e solte-as na seção Drop image or video here e clique no botão Import. As imagens de teste foram fornecidas no archive 4x4With20Nondefect_ForTEST. testar modelo implementado no mvi

O Maximo Visual Inspection importará imagens de teste, detectará objetos e retornará os resultados dos testes. Qualquer uma das quatro classes de objetos que correspondem a defeitos na superfície de aço será detectada automaticamente.
testar modelo no mvi

Resultados e conclusões

Nas etapas acima, você escolheu as opções padrão para treinar e desenvolver um modelo de detecção de objetos. Além do conjunto de dados usado, as escolhas feitas por você podem afetar a precisão e a velocidade do modelo de detecção de objetos treinado. Compare e analise os resultados dos três modelos diferentes desenvolvidos e testados a fim de determinar qual modelo fornece os resultados mais precisos e tem o melhor desempenho. Isso ajuda a tomar a decisão mais informada, que poderia acelerar e melhorar o processo de controle de qualidade.

  • Fast R-CNN: essa rede neural convolucional é altamente precisa para localizar caixas delimitadoras de objetos em imagens e vídeos. Ela gera um ativo TensorRT por padrão.
    modelo rcnn no mvi

Após a aplicação desse modelo ao conjunto de dados 4x4With20Nondefect_ForTEST, os resultados foram muito melhores do que no modelo gerado com as opções padrão. O modelo original foi capaz de detectar com sucesso 14 dos 16 defeitos nas imagens no conjunto de dados. Esse modelo conseguiu detectar todas as 16.

  • Detectron: essa abordagem é, em teoria, a melhor para detecção de objetos e segmentação de objetos pequenos. Ela gera modelos precisos, porém grandes. modelo detectron no mvi

Após a aplicação desse modelo ao conjunto de dados 4x4With20Nondefect_ForTEST, os resultados foram um pouco piores do que o esperado. O modelo de conjunto de dados original foi capaz de detectar com sucesso oito dos 16 defeitos nas imagens, enquanto o modelo de conjunto de dados ao qual a rotulagem automática foi aplicada conseguiu detectar 11. A taxa de precisão inferior provavelmente ocorreu porque esse modelo é mais orientado à segmentação de objetos.

  • YOLO: otimizado para velocidade, mas pode ser menos preciso. Ele gera modelos menores que funcionam bem para FPGA e dispositivos incorporados.
    modelo yolo no mvi

Após a aplicação desse modelo ao conjunto de dados 4x4With20Nondefect_ForTEST, os resultados foram um pouco piores do que o esperado. O modelo de conjunto de dados original foi capaz de detectar com sucesso 10 dos 16 defeitos nas imagens, enquanto o modelo de conjunto de dados ao qual a rotulagem automática foi aplicada conseguiu detectar 12.

O IBM Maximo Visual Inspection pode ajudar a detectar defeitos em superfícies de chapa de aço como parte do processo automatizado de manufatura de modo a maximizar a eficiência e a eficácia dos processos de inspeção de qualidade. Gostaríamos de saber como ele é usado no seu trabalho.