Classificação de imagens com redes neurais convolucionais (CNNs)

Armazenamento do Blobs do Azure
Registro de Contêiner do Azure
Máquinas Virtuais de Ciência de Dados do Azure
AKS (Serviço de Kubernetes do Azure)
Azure Machine Learning

Ideias de solução

Esse artigo é uma ideia de solução. Se você quiser que expandamos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou diretrizes de preços, informe-nos fornecendo comentários do GitHub.

Use redes neurais convolucionais (CNNs) para classificar grandes volumes de imagens com eficiência para identificar elementos em imagens.

Arquitetura

Architecture diagram: image classification with convolutional neural networks and Azure Machine Learning.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. Os uploads de imagem no Armazenamento de Blobs do Azure são ingeridos pelo Azure Machine Learning.
  2. Como a solução segue uma abordagem de aprendizado supervisionado e precisa de rotulagem de dados para treinar o modelo, as imagens ingeridas são rotuladas no Machine Learning.
  3. O modelo da CNN é treinado e validado no bloco de anotações do Machine Learning. Vários modelos de classificação de imagem pré-treinados estão disponíveis. Você pode usá-los usando uma abordagem de aprendizado de transferência. Para obter informações sobre algumas variantes de CNNs pré-treinadas, consulte Avanços na classificação de imagens usando redes neurais convolucionais. Você pode baixar esses modelos de classificação de imagem e personalizá-los com seus dados rotulados.
  4. Após o treinamento, o modelo é armazenado em um registro de modelo no Machine Learning.
  5. O modelo é implantado por meio de pontos de extremidade gerenciados em lote.
  6. Os resultados do modelo são gravados no Azure Cosmos DB e consumidos por meio do aplicativo front-end.

Componentes

  • O Armazenamento de Blobs é um serviço que faz parte do Armazenamento do Azure. O Armazenamento de Blobs oferece armazenamento otimizado de objetos de nuvem para grandes quantidades de dados não estruturados.
  • O Azure Machine Learning é um ambiente baseado em nuvem que permite treinar, implantar, automatizar, gerenciar e acompanhar modelos de machine learning. Você pode usar os modelos para prever comportamentos futuros, resultados e tendências.
  • O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente. Com o Azure Cosmos DB, suas soluções podem dimensionar de maneira elástica a taxa de transferência e o armazenamento em qualquer quantidade de regiões geográficas.
  • O Registro de Contêiner cria, armazena e gerencia imagens de contêiner e pode armazenar modelos de machine learning em contêineres.

Detalhes do cenário

Com o surgimento de tecnologias como a Internet das Coisas (IoT) e a IA, o mundo está gerando grandes quantidades de dados. Extrair informações relevantes dos dados tornou-se um grande desafio. A classificação de imagem é uma solução relevante para identificar o que uma imagem representa. A classificação de imagem pode ajudá-lo a categorizar grandes volumes de imagens. AS redes neurais convolucionais (CNNs) renderizam um bom desempenho em conjuntos de dados de imagem. As CNNs têm desempenhado um papel importante no desenvolvimento de soluções de classificação de imagem de última geração.

Há três tipos principais de camadas em CNNs:

  • Camadas convolucionais
  • Camadas de pooling
  • Camadas totalmente conectadas

A camada convolucional é a primeira camada de uma rede convolucional. Essa camada pode seguir outra camada convolucional ou camadas de pool. Em geral, a camada totalmente conectada é a camada final na rede.

À medida que o número de camadas aumenta, a complexidade do modelo aumenta e o modelo pode identificar partes maiores da imagem. As camadas inicialmente se concentram em recursos simples, como bordas. À medida que os dados de imagem avançam pelas camadas da CNN, a rede começa a reconhecer elementos ou formas mais sofisticados no objeto. Por fim, ele identifica o objeto esperado.

Possíveis casos de uso

  • Essa solução pode ajudar a automatizar a detecção de falhas, que é preferível a depender exclusivamente de operadores humanos. Por exemplo, essa solução pode aumentar a produtividade identificando componentes eletrônicos defeituosos. Essa funcionalidade é importante para fabricação enxuta, controle de custos e redução de resíduos na fabricação. Na fabricação de placas de circuito, placas defeituosas podem custar aos fabricantes em termos de dinheiro e de produtividade. As linhas de assembly dependem de operadores humanos para revisar e validar rapidamente placas que são sinalizadas como potencialmente com falha por computadores de teste de linha de assembly.
  • A classificação de imagem é ideal para o setor de saúde. A classificação de imagem ajuda a detectar rachaduras ósseas, vários tipos de câncer e anomalias nos tecidos. Você também pode usar a classificação de imagem para sinalizar irregularidades que podem indicar a presença da doença. Um modelo de classificação de imagem pode melhorar a precisão das MRIs.
  • No setor agrícola, as soluções de classificação de imagens ajudam a identificar doenças vegetais e plantas que exigem água. Como resultado, a classificação de imagens ajuda a reduzir a necessidade de intervenção humana.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi escrito originalmente pelos colaboradores a seguir.

Autor principal:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Pesquisa visual no varejo com o Azure Cosmos DB