畳み込みニューラル ネットワークによる画像の分類

Blob Storage
Container Registry
Data Science Virtual Machine
Kubernetes Service
Machine Learning

ソリューションのアイデア Solution Idea

さらなる情報、実装の詳細、価格ガイダンス、コード例を追加してこの記事を拡張することをお望みの場合は、GitHub のフィードバックでご連絡ください。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 個の非表示層を持つ畳み込みニューラル ネットワークを使用して画像分類システムを構築し、ImageNet データセット内の 35 万件の画像で事前にトレーニングして、最後のネットワーク層を削除することによって画像の視覚的特徴を生成します。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

  • Azure Blob Storage: データが Azure Blob Storage に取り込まれて、格納されます。Azure Blob Storage: Data is ingested and stored in Azure Blob Storage.
  • GPU ベースの Azure Data Science Virtual Machine:コア開発環境は、Azure Ubuntu ベースの GPU DSVM です。GPU based Azure Data Science Virtual Machine: The core development environment is the Azure Ubuntu-based GPU DSVM. データが、DSVM にアタッチされている Azure 仮想ハード ディスク (VHD) に BLOB からプルされます。The data is pulled from blob onto an Azure virtual hard disk (VHD) attached to the DSVM. その VHD で、データが処理され、画像がディープ ニューラル ネットワークを使用して特徴付けされ、ブースト ツリー モデルがトレーニングされます。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 サーバーは、ソリューションの開発に使用されます。DSVM IPython Notebook server is used for solution development.
  • Apache Spark HDInsight Spark クラスターの Microsoft Machine Learning:大規模なデータセットには、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 Container Registry:モデルと Web アプリケーションが Docker イメージにパッケージ化され、Azure Container Registry に書き込まれます。Azure Container Registry: The model and web application are packaged into a Docker image and written to Azure Container Registry.
  • Azure Machine Learning モデル管理サービス:Azure Machine Learning モデル管理サービスは、最終的なモデルを VM にデプロイして管理したり、Azure Kubernetes Service を使用して 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. 予測 Web サービスと Java ETL サービスも VM 上の独自のコンテナーにそれぞれ書き込まれます。A predictive web service and a Java ETL service are also written onto the VM, each in its own container.
  • Azure Kubernetes Service (AKS):このソリューションのデプロイでは、Kubernetes で管理されているクラスターを実行している Azure Kubernetes Service を使用します。Azure Kubernetes Service (AKS): Deployment for this solution uses Azure Kubernetes Service running a Kubernetes-managed cluster. コンテナーは Azure Container Registry に格納されているイメージからデプロイされます。The containers are deployed from images stored in Azure Container Registry.

次のステップNext steps