Ignorar Navegação

Arquitetura de soluções: Classificação de imagens com as redes neurais convolucionais

Para que a indústria se mantenha competitiva, é fundamental uma produção otimizada, o controlo de custos e a redução de desperdícios. Na produção de placas de circuitos, as placas defeituosas podem custar dinheiro e produtividade aos fabricantes. As cadeias de montagem contam com operadores humanos para rever e confirmar rapidamente as placas sinalizadas como potencialmente defeituosas por parte das máquinas de teste das cadeias.

Esta solução analisa imagens de componentes eletrónicos geradas por câmaras nas cadeias de montagem numa fábrica de produção de placas de circuitos e deteta os estados de erro dessas imagens. O objetivo é minimizar ou remover a necessidade de intervenção humana. A solução cria um sistema de classificação de imagens com uma rede neural convolucional com 50 camadas ocultas, pré-preparadas com 350 000 imagens num conjunto de dados ImageNet, para gerar características visuais das imagens mediante a remoção da última camada de rede. Depois, estas características são utilizadas para formar uma árvore de decisão otimizada para classificar a imagem como “aprovada” ou “recusada” e é levada a cabo a classificação final nas máquinas edge da fábrica. Os resultados do desempenho da classificação são bons (validação cruzada baseada no tempo AUC>.90), que indica que a solução é adequada para minimizar significativamente a intervenção humana na deteção de falhas em componentes eletrónicos em placas de circuitos montadas.

A utilização desta solução para automatizar a deteção de falhas em vez de recorrer apenas a operadores humanos ajuda a melhorar a identificação de componentes eletrónicos com falha e a aumentar a produtividade.

Azure Blob Storage GPU Data Science Virtual Machine Azure Container Registry Azure Machine Learning Model Management Service Machine Learning Model Predictive Web Application Azure Container Service Java ETL

Orientações de implementação

Produtos/Descrição Documentação

Armazenamento de Blobs do Azure

Os dados são ingeridos e armazenados no Armazenamento de Blobs do Azure.

Máquina Virtual de Ciência de Dados (DSVM) do Azure baseada no GPU

O ambiente de desenvolvimento principal é o GPU DSVM baseado no Azure Ubuntu. Os dados são extraídos de um blob para um disco rígido virtual (VHD) do Azure ligado ao DSVM. Nesse VHD, os dados são processados, as imagens são caracterizadas com uma Rede Neural Profunda e é preparado um modelo de Árvore Otimizada. Para a implementação da solução, é utilizado o servidor DSVM IPython Notebook.

Azure Batch AI Training (BAIT)

Como alternativa à preparação baseada em DSVM, relativamente aos trabalhos de computação intensiva que recorrem ao processamento de imagens de aprendizagem aprofundada, utilizamos o BAIT como arquitetura do Azure Batch gerida para a computação paralela e distribuída através de clusters de nós de computação do GPU.

Microsoft Machine Learning para Cluster do Apache Spark no HDInsight Spark

Como alternativa à preparação baseada em DSVM, para grandes conjuntos de dados, utilizamos o MMLSpark para criar uma solução de preparação altamente dimensionável.

Azure Container Registry

O modelo e a aplicação Web são empacotados numa imagem do Docker e escritos no Azure Container Registry.

Serviço Gestão de Modelos do Azure Machine Learning

O serviço Gestão de Modelos do Azure Machine Learning é utilizado para implementar e gerir o modelo final numa VM e para aumentar horizontalmente com o Azure Container Service para um cluster do Azure gerido pelo Kubernetes.

Também são escritos na VM um serviço Web preditivo e um serviço Java E.T.L., cada qual no seu próprio contentor.

Cluster do Azure Container Service

A implementação desta solução utiliza o Azure Container Service que executa um cluster gerido pelo Kubernetes. Os contentores são implementados a partir das imagens armazenadas no Azure Container Registry.