Clasificación de imágenes con redes neuronales convolucionales (CNN)

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

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

Use redes neuronales convolucionales (CNN) para clasificar grandes volúmenes de imágenes de forma eficaz para identificar elementos en imágenes.

Architecture

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

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. Las cargas de imágenes en Azure Blob Storage son ingeridas por Azure Machine Learning.
  2. Como la solución sigue un enfoque de aprendizaje supervisado y necesita el etiquetado de los datos para entrenar el modelo, las imágenes ingeridas se etiquetan en Machine Learning.
  3. El modelo de CNN se entrena y valida en el cuaderno de Machine Learning. Existen varios modelos de clasificación de imágenes preentrenados. Puede usarlos mediante un enfoque de aprendizaje de transferencia. Para obtener información sobre algunas variantes de CNN previamente entrenadas, consulte Avances en la clasificación de imágenes mediante redes neuronales convolucionales. Puede descargar estos modelos de clasificación de imágenes y personalizarlos con los datos etiquetados.
  4. Después del entrenamiento, el modelo se almacena en un registro de modelos en Machine Learning.
  5. El modelo se implementa a través de puntos de conexión administrados por lotes.
  6. Los resultados del modelo se escriben en Azure Cosmos DB y se consumen a través de la aplicación front-end.

Componentes

  • Blob Storage es un servicio que forma parte de Azure Storage. Blob Storage ofrece almacenamiento optimizado de objetos en la nube para grandes cantidades de datos no estructurados.
  • Machine Learning es un entorno basado en la nube que permite entrenar, implementar, automatizar, administrar y realizar un seguimiento de los modelos de aprendizaje automático. Puede utilizar los modelos para prever el comportamiento, los resultados y las tendencias futuras.
  • Azure Cosmos DB es una base de datos de varios modelos distribuida globalmente. Con Azure Cosmos DB, las soluciones pueden escalar de forma elástica el rendimiento y el almacenamiento en cualquier número de regiones geográficas.
  • Azure Container Registry construye, almacena y administra imágenes de contenedores y puede almacenar modelos de aprendizaje automático en contenedores.

Detalles del escenario

Con el avance de las tecnologías, como Internet de las cosas (IoT) y la IA, el mundo está generando grandes cantidades de datos. Extraer información pertinente de los datos se ha convertido en un gran desafío. La clasificación de imágenes es una solución relevante para identificar lo que representa una imagen. La clasificación de imágenes puede ayudarle a categorizar grandes volúmenes de imágenes. Las redes neuronales convolucionales (CNN) representan un buen rendimiento de los conjuntos de datos de imagen. Las CNN han desempeñado un papel importante en el desarrollo de soluciones de clasificación de imágenes de última generación.

Hay tres tipos principales de capas en las CNN:

  • Capas convolucionales
  • Agrupación de capas
  • Capas totalmente conectadas

La capa convolucional es la primera capa de una red convolucional. Esta capa puede seguir a otra capa convolucional o capas de agrupación. En general, la capa totalmente conectada es la capa final de la red.

A medida que aumenta el número de capas, se incrementa la complejidad del modelo y este puede identificar mayores porciones de la imagen. Las capas iniciales se centran en características simples, como los bordes. A medida que los datos de la imagen avanzan por las capas de la CNN, la red empieza a reconocer elementos o formas más sofisticados en el objeto. Por último, identifica el objeto esperado.

Posibles casos de uso

  • Esta solución puede ayudar a automatizar la detección de errores, lo que es preferible confiar únicamente en operadores humanos. Por ejemplo, esta solución puede aumentar la productividad mediante la identificación de componentes electrónicos defectuosos. Esta capacidad es importante para la fabricación ajustada, el control de costos y la reducción de residuos en la fabricación. En la fabricación de circuitos, las placas defectuosas pueden costar a los fabricantes dinero y productividad. Las líneas de ensamblado se basan en operadores humanos para revisar y validar rápidamente las placas, que están marcadas como potencialmente defectuosas por las máquinas de pruebas de la línea de montaje.
  • La clasificación de imágenes es idónea para el sector sanitario. La clasificación de imágenes ayuda a detectar grietas óseas, varios tipos de cáncer y anomalías en los tejidos. También puede usar la clasificación de imágenes para marcar irregularidades que pueden indicar la presencia de enfermedades. Un modelo de clasificación de imágenes puede mejorar la precisión de los MRIs.
  • En el dominio agrícola, las soluciones de clasificación de imágenes ayudan a identificar las enfermedades de las plantas y las plantas que necesitan agua. Como resultado, la clasificación de imágenes ayuda a reducir la necesidad de intervención humana.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribió el siguiente colaborador.

Autor principal:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Búsqueda visual en el comercio minorista con Azure Cosmos DB