Классификация изображений с помощью сверточных нейронных сетей

Хранилище BLOB-объектов
Реестр контейнеров
Виртуальные машины для обработки и анализа данных
Служба Kubernetes
Машинное обучение

Концепция решения Solution Idea

Если вы хотите ознакомиться с этой статьей, дополнительные сведения, сведения о реализации, рекомендации по ценам или примеры кода, сообщите нам о них.If you'd like to see us expand this article with more information, implementation details, pricing guidance, or code examples, let us know with GitHub Feedback!

Экономичное производство, управление затратами и снижение траты являются обязательными для поддержания конкурентоспособности в производстве.Lean manufacturing, cost control, and waste reduction are imperative for manufacturing to remain competitive. Плата за производство, неисправные платы, может стоить денежные средства и производительность.In circuit-board manufacturing, faulty boards can cost manufacturers money and productivity. Для быстрого просмотра и проверки системных плат, помеченных как потенциально неисправности с помощью тестовых машин сборки, строки сборки основываются на операторах человека.Assembly lines rely on human operators to quickly review and validate boards flagged as potentially faulty by assembly-line test machines.

Это решение анализирует электронные изображения компонентов, созданные камерами на основе сборочных линий, в заводской плате и обнаруживает их состояние ошибки.This solution analyzes electronic component images generated by assembly-line cameras in a circuit-board manufacturing plant and detects their error status. Целью является сокращение или устранение необходимости в вмешательстве человека.The goal is to minimize or remove the need for human intervention. Решение создает систему классификации образов с помощью сведенной нейронной сети с 50 скрытыми слоями, предварительно обученных в 350 000 изображениях в наборе данных ImageNet для создания визуальных функций изображений путем удаления последнего сетевого уровня.The solution builds an image classification system using a convolutional neural network with 50 hidden layers, pretrained on 350,000 images in an ImageNet dataset to generate visual features of the images by removing the last network layer. Эти функции затем используются для обучения увеличенного дерева принятия решений, чтобы классифицировать образ как "пройденный" или "сбой", и окончательная оценка на пограничных компьютерах на предприятии.These features are then used to train a boosted decision tree to classify the image as "pass" or "fail" and final scoring conducted on edge machines at the plant. Результаты оценки производительности являются приемлемыми (перекрестная проверка на основе времени AUC>.90), которая указывает, что решение подходит для радикального упрощения распознавания сбоев электронных компонентов в подготовленных платах.The classification performance results are good (time-based cross-validation AUC>.90) which indicates the solution is suitable to drastically minimize human intervention for electronic-components failure detection in assembled circuit boards.

Использование этого решения для автоматизации обнаружения сбоев вместо того, чтобы полагаться исключительно на человеческий оператор, помогает улучшить идентификацию неисправных электронных компонентов и повысить производительность.Using this solution to automate failure detection instead of relying solely on human operators helps improve the identification of faulty electronic components and boost productivity.

ArchitectureArchitecture

Схема архитектуры . Скачайте SVG этой архитектуры.Architecture Diagram Download an SVG of this architecture.

ComponentsComponents

  • Хранилище BLOB-объектов Azure. данные принимаются и хранятся в хранилище BLOB-объектов Azure.Azure Blob Storage: Data is ingested and stored in Azure Blob Storage.
  • Виртуальная машина Azure для обработки и анализа данных на основе GPU. основная среда разработки — это DSVM GPU на основе Azure Ubuntu.GPU based Azure Data Science Virtual Machine: The core development environment is the Azure Ubuntu-based GPU DSVM. Данные извлекаются из большого двоичного объекта на виртуальный жесткий диск (VHD) Azure, подключенный к DSVM.The data is pulled from blob onto an Azure virtual hard disk (VHD) attached to the DSVM. На этом виртуальном жестком диске данные обрабатываются, изображения признаками с помощью глубокой нейронной сети, а также обучена модель повышенного дерева.On that VHD, the data is processed, the images are featurized using a Deep Neural Network, and a Boosted Tree model is trained. Сервер DSVM IPython Notebook Notebook используется для разработки решения.DSVM IPython Notebook server is used for solution development.
  • Microsoft машинное обучение для Apache Spark кластере HDInsight Spark. в качестве альтернативы обучению на основе DSVM для больших наборов данных мы используем MMLSpark для создания высокомасштабируемого учебного решения.Microsoft Machine Learning for Apache Spark HDInsight Spark Cluster: As an alternative to DSVM-based training, for big datasets, we use MMLSpark to build a highly scalable training solution.
  • Реестр контейнеров Azure. модель и веб-приложение упаковываются в образ DOCKER и записываются в реестр контейнеров Azure.Azure Container Registry: The model and web application are packaged into a Docker image and written to Azure Container Registry.
  • Машинное обучение Azure управление моделями Service: служба машинное обучение Azure управление моделями используется для развертывания окончательной модели и управления ею на виртуальной машине, а также для масштабирования с помощью службы Azure Kubernetes в управляемом Kubernetes кластере Azure.Azure Machine Learning Model Management Service: Azure Machine Learning Model Management service is used to deploy and manage the final model on a VM and to scale out using Azure Kubernetes Service to a Kubernetes managed Azure cluster. Прогнозная веб-служба и служба ETL Java также записываются на виртуальную машину, каждая в отдельном контейнере.A predictive web service and a Java ETL service are also written onto the VM, each in its own container.
  • Служба Kubernetes Azure (AKS). для развертывания этого решения используется служба Kubernetes Azure, выполняющая Kubernetes управляемый кластер.Azure Kubernetes Service (AKS): Deployment for this solution uses Azure Kubernetes Service running a Kubernetes-managed cluster. Контейнеры развертываются из образов, хранящихся в реестре контейнеров Azure.The containers are deployed from images stored in Azure Container Registry.

Дальнейшие действияNext steps