Editar

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

Azure Blob Storage
Azure Container Registry
Azure Data Science Virtual Machines
Azure Kubernetes Service (AKS)
Azure Machine Learning

Ideias de soluções

Este 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 orientação de preços, informe-nos fornecendo feedback do GitHub.

Use redes neurais convolucionais (CNNs) para classificar grandes volumes de imagens de forma eficiente para identificar elementos em imagens.

Arquitetura

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

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. Os carregamentos de imagens para o Armazenamento de Blobs do Azure são ingeridos pelo Azure Machine Learning.
  2. Como a solução segue uma abordagem de aprendizagem supervisionada e precisa de rotulagem de dados para treinar o modelo, as imagens ingeridas são rotuladas em Machine Learning.
  3. O modelo da CNN é treinado e validado no caderno de Machine Learning. Vários modelos de classificação de imagens pré-treinados estão disponíveis. Você pode usá-los usando uma abordagem de aprendizagem 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 Blob Storage oferece armazenamento otimizado de objetos na nuvem para grandes quantidades de dados não estruturados.
  • O Machine Learning é um ambiente baseado em nuvem que você pode usar para treinar, implantar, automatizar, gerenciar e rastrear modelos de aprendizado de máquina. Você pode usar os modelos para prever comportamentos, resultados e tendências futuras.
  • O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente. Com o Azure Cosmos DB, suas soluções podem dimensionar elasticamente a taxa de transferência e o armazenamento em qualquer número de regiões geográficas.
  • O Registro de Contêiner do Azure cria, armazena e gerencia imagens de contêiner e pode armazenar modelos de aprendizado de máquina 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 imagens é uma solução relevante para identificar o que uma imagem representa. A classificação de imagens pode ajudá-lo a categorizar grandes volumes de imagens. As redes neurais convolucionais (CNNs) apresentam 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 imagens de última geração.

Existem três tipos principais de camadas nas CNNs:

  • Camadas convolucionais
  • Camadas de agrupamento
  • Camadas totalmente conectadas

A camada convolucional é a primeira camada de uma rede convolucional. Esta camada pode seguir outra camada convolucional ou camadas de pooling. 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 iniciais 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. Finalmente, identifica o objeto esperado.

Potenciais casos de utilização

  • Essa solução pode ajudar a automatizar a deteção de falhas, o que é preferível a depender apenas de operadores humanos. Por exemplo, esta solução pode aumentar a produtividade através da identificação de componentes eletrónicos defeituosos. Essa capacidade é importante para a manufatura enxuta, controle de custos e redução de desperdício na fabricação. Na produção de placas de circuitos, as placas defeituosas podem custar dinheiro e produtividade aos fabricantes. As linhas de montagem dependem de operadores humanos para revisar e validar rapidamente placas que são sinalizadas como potencialmente defeituosas por máquinas de teste de linha de montagem.
  • A classificação de imagens é ideal para o setor de saúde. A classificação por imagem ajuda a detetar fissuras ó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 de doença. Um modelo de classificação de imagem pode melhorar a precisão das ressonâncias magnéticas.
  • No domínio da agricultura, as soluções de classificação de imagens ajudam a identificar doenças de plantas e plantas que necessitam de água. Como resultado, a classificação de imagens ajuda a reduzir a necessidade de intervenção humana.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelo seguinte colaborador.

Autor principal:

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

Próximos passos

Pesquisa visual no varejo com o Azure Cosmos DB